LeetCode 2 兩數相加

2021-10-02 08:26:51 字數 1002 閱讀 5330

題目

示例:

輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

輸出:7 -> 0 -> 8

原因:342 + 465 = 807

解題思路:數字是放在鍊錶中的,進行加運算,用兩個指標就可以解決,指標同時後移,將指標對應數字加起來即可。這裡有個小問題,進製,滿10進1,這裡再設乙個變數carry存放進製數字,在每次進行加運算時,再加上進製。

還有乙個小問題,兩個數,即鍊錶長度不一樣,乙個結束了,另乙個還有數字未加,按通常的邏輯,剩餘就是剩餘數字加0,所以用乙個三目運算子判斷一下當前數字是否為空,為空指標數字為0,不為空還是原來的數字。

**實現

/**

* definition for singly-linked list.

* public class listnode

* }*/class

solution

int num=

(l1==null?

0:l1.val)

+(l2==null?

0:l2.val)

+carry;

listnode n=

newlistnode

(num%10)

;//建立結點,用來放num的值

rear.next=n;

//尾插法

rear=n;

carry=num/10;

//更新carry的值

l1=l1==null?null:l1.next;

//移動指標

l2=l2==null?null:l2.next;

}return head.next;

}}

LeetCode2 兩數相加

嗯。今天兩個簡單題,我可能要墮落了 先貼第乙個 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8原因 342 465 807...

LeetCode 2 兩數相加

題目 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 解題 這題就比較簡單了,兩數相加處理好...

LeetCode 2 兩數相加

題目描述 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。題目思路 先從最低有效位也就是列表 l1 和 l2 的表頭開始相加。由於每位數字都應當處於 0 9 的範圍內,我們計算...