劍指Offer之Java算法習題精講鏈表專題篇
更新時間:2022年03月18日 10:40:49 作者:明天一定.
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
題目一

?解法
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public int getDecimalValue(ListNode head) {
int[] arr = new int[31];
int index = 0;
int ans = 0;
while(head!=null){
arr[index] = head.val;
index++;
head = head.next;
}
for(int i = 0;i<index;i++){
if(arr[i]==1){
ans+=(1<<(index-1-i));
}
}
return ans;
}
}
題目二

?解法
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public int[] reversePrint(ListNode head) {
int index = 0;
ListNode h = head;
while(head!=null){
head = head.next;
index++;
}
int[] arr = new int[index];
while(h!=null){
arr[index-1] = h.val;
index--;
h = h.next;
}
return arr;
}
}
題目三

解法
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode node = new ListNode(-1);
ListNode ans = node;
while(l1!=null&&l2!=null){
if(l1.val<=l2.val){
node.next = l1;
l1 = l1.next;
}else{
node.next = l2;
l2 = l2.next;
}
node = node.next;
}
if(l1!=null){
node.next = l1;
}
if(l2!=null){
node.next = l2;
}
return ans.next;
}
}
到此這篇關于劍指Offer之Java算法習題精講鏈表專題篇的文章就介紹到這了,更多相關Java 鏈表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
淺談java.util.concurrent包中的線程池和消息隊列
這篇文章主要介紹了淺談java.util.concurrent包中的線程池和消息隊列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
Springboot如何使用filter對request body參數(shù)進行校驗
這篇文章主要介紹了Springboot如何使用filter對request body參數(shù)進行校驗,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
java.sql.SQLTimeoutException異常的正確解決方法(親測有效!)
在我們編寫程序的時候,有時候要進行復雜的查詢時,就會出現(xiàn)執(zhí)行sql時間過長,引起頁面執(zhí)行不了并提示執(zhí)行腳本超時,這就是我們遇到超時異常,這篇文章主要給大家介紹了關于java.sql.SQLTimeoutException異常的正確解決方法,需要的朋友可以參考下2024-02-02

