1. 程式人生 > >演算法練習:Add Two Numbers

演算法練習:Add Two Numbers

解題思路:

(1)申請一個節點指標result,指向結果連結串列,另外申請一個節點指標,用於指向該連結串列。 

(2)定義一個變數over,初始化為0。兩數之和大於等於10時, over賦值為1。 

(3)遍歷l1和l2,p指向l1,q指向l2: 

a. 當兩者均不為空的時候,兩數相加,並判斷和是否大於等於10,大於等於10,over=1(即向前進一位)。將該和mod10後儲存到節   點中。p,q均向後移動一個節點,繼續遍歷。同時也需要在結果連結串列後加入一個新的 節點,cur指向該節點。 

b. 當p或q等於NULL時(兩個連結串列不等長),將l1或l2剩下的節點連結到result後。 

(4)當兩個連結串列均遍歷結束之後,若over等於1,即計算到最後的兩個數相加滿10,有進位,則需要申請一個新的節 點儲存over的值,並連結到result後。