對於這個問題還有乙個很好的方法:
1、將兩個鍊錶逆序,這樣就可以依次得到從低到高位的數字
2、同步遍歷兩個逆序後鍊錶,相加生成新鍊錶,同時關注進製
3、當兩個鍊錶都遍歷完成後,關注進製。
4、 將兩個逆序的鍊錶再逆序一遍,調整回去
返回結果鍊錶
packagett;public
class
test98
}public
node addlists2(node head1, node head2)
if(ca == 1)
reverselist(head1);
reverselist(head2);
return
node;
}public
static
node reverselist(node head)
return
pre;
}}
posted @
2017-09-10 16:50
toov5 閱讀(
...)
編輯收藏
兩個單鏈表生成相加鍊錶
題目 假設鍊錶中每乙個節點的值都在0 9之間,那麼鍊錶整體就可以代表乙個整數。例如9 3 7,代表937.給定兩個這種鍊錶的頭節點head1和head2,請生成代表兩個整數相加值的結果鍊錶。例如 9 3 7和6 3,相加結果為1 0 0 0 兩個單鏈表生成相加鍊錶 方法1 利用棧結構求解 publi...
兩個單鏈表生成相加鍊錶
題目 假設鍊錶中每乙個節點的值都在0 9之間,那麼鍊錶整體就可以代表乙個整數。例如 9 3 7,可以代表整數937.給定兩個兩個這種鍊錶的頭結點head1和head2,請生成代表兩個整數相加值的結果鍊錶。例如 鍊錶1為9 3 7,鍊錶2為6 3,最後生成新的結果鍊錶為1 0 0 0。public c...
兩個單鏈表生成相加鍊錶
題目 兩個鍊錶生成相加鍊錶 程式設計師 面試指南 第21題 p66 難度 士 本題依舊有2種解法。不過首先說明一下,如果採用將鍊錶轉成系統中int型別的數的方法,當鍊錶過長時,int型別會溢位。我一開始就採用了這個方法,上來直接就0 20用例通過。然後書上第1種解法是採用棧的結構,將2個鍊錶分別依次...