給定兩個用鍊錶表示的整數,每個節點包含乙個數字。
這些數字是反向存放的,也就是個位排在鍊錶首部。
編寫函式對這兩個整數求和,並用鍊錶形式返回結果。
示例:
輸入:(7-
>1-
>6)
+(5-
>9-
>
2),即617
+295
輸出:2
->1-
>
9,即912
高階:假設這些數字是正向存放的,請再做一遍。
示例:輸入:(6-
>1-
>7)
+(2-
>9-
>
5),即617
+295
輸出:9
->1-
>
2,即912
class
solution
if(p2)
sum +
= carr;
//加上上一位的進製
listnode *t =
newlistnode
(sum %10)
;//得到當前位數字
carr = sum /10;
//得到當前位對下一位的進製
p->next = t;
//當前位連線上去
p = p-
>next;
//游標指標更新
}return head-
>next;}}
;
程式設計師面試金典 面試題 02 05 鍊錶求和
給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 假設這些數字是正向存放的,請再做一遍。示例 輸入 6 1 7 2 9 ...
程式設計師面試金典 鍊錶
這裡我們可以使用乙個表來記錄訪問過的節點值,這樣只要一次遍歷就可以。但是需要輔助空間。如果不使用臨時緩衝區,該怎麼解決?使用兩個指標,乙個指標指向當前節點,另乙個指標用於向後遍歷剩餘節點,把重複節點刪除。這裡刪除只是用乙個節點就可以,檢查ptr next data是否重複就可以。這裡給出兩種方法 第...
《程式設計師面試金典》回文鍊錶
題目描述 請編寫乙個函式,檢查鍊錶是否為回文。給定乙個鍊錶listnode phead,請返回乙個bool,代表鍊錶是否為回文。測試樣例 返回 true 返回 false 思路我們有兩種方法,比較容易想到的方法應該是使用棧儲存前一半的結點,然後對於後一半的結點再乙個個的與棧內的結點比較是否相等 還有...