給定兩個用鍊錶表示的整數,每個結點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。
public linkedlist addlists(linkedlist l1, linkedlist l2, int carry)
注意要避開空指標一場,如果兩個數字數不同,需要在較小數的末尾補零進行相加
public class partialsum
llinkedlist addlists(linkedlist l1, linkedlist l2)
else
partialsum sum = addlistshelper(l1, l2);
if (sum.carry == 0)
else
}partialsum addlistshelper(linkedlist l1, linkedlist l2)
partialsum sum = addlisthelper(l1.next, l2.next);
int val = sum.carry + l1.data + l2.data;
linkedlist full_result = insetbefore(sum.sum, val%10);
sum.sum = full_result;
sum.carry = val / 10;
return sum;
}linkedlist padlist(linkedlist l, ind padding)
return head;
}linkedlist insetbefore(linkedlist list, int data)
return node;
}int length(linkedlist l)
return count;
}
求兩個用鍊錶表示的整數的和
假設這些數字是正向存放的。將value以及l1和l2的data相加 int value carry if l1 null if l2 null result.data value 10 求和結果的個數 遞迴 linkedlistnode more addlists l1 null?null l1.n...
用單向鍊錶表示十進位制整數,求兩個正整數的和
用單向鍊錶表示十進位制整數,求兩個正整數的和。如,1234 34 1268,注意單項鍊表的方向從前向後,不允許使用其他資料結構。如下圖 正常計算 1 2 3 4 3 41 2 6 8 思路結果 4 3 2 1 4 38 6 2 1 1 2 6 8 就是單向鍊錶的翻轉,然後進行計算,然後在翻轉,即可得...
鍊錶表示的兩數相加
給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 一 public listnode addt...