/**
* 兩個鍊錶存放著數字:1->2->3+1->4->5=2->6->8 321+541=862
* 1->2->3+1->4=2->6->3 321+41=362
* @author cl
* */
public class linklistaddnums elseelse
}//無論有沒有進製都要new乙個後繼結點,最後最高為如果沒有進製的話要處理(去除最後乙個結點)
//建立後繼結點,後繼節點值為(當前結點的值+val)的進製部分
head.next=new listnode((val+head.val)/10);
//當前結點的值是:(當前結點的值+val)的個位部分
head.val=(val+head.val)%10;
//儲存前乙個結點,head指向當前結點
pre=head;
head=head.next;
}//如果最終的進製為0,把最後的結點去掉
if(head.val==0)
return t;
}public static void main(string args)
}}
leetcode 鍊錶兩個數相加
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...
用兩個陣列模擬鍊錶
我們知道鍊錶中的每個節點有兩個部分,分別為資料域和指標域。我們可以用兩個陣列來模擬鍊錶中每個節點所對應的部分。我們首先可以用乙個整形陣列data來存放序列中的數字,另乙個陣列right來 存放當前序列中每個元素右邊的元素在陣列data中的位置。如下圖所示 例如right 1 的值為 2,就表示當前序...
5 合併兩個有序鍊錶
題 將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 class listnode public static listnode mergetwolists listnode l1,listn...