python 實現
參考文獻
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。
如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。
您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。
example: (2 -> 4 -> 3) + (5 -> 6 -> 4)
return 7 -> 0 -> 8
原因:342 + 465 = 807
將長度較短的鍊錶在末尾補零使得兩個連表長度相等,再乙個乙個元素對其相加(考慮進製)/**
* definition for singly-linked list.
* struct listnode
* };
*/class solution
while (q->next!=null)
//在較短的鍊錶末尾新增0
if (len1>=len2)
}else
}//對齊相加考慮進製
p=l1;
q=l2;
listnode *result=new listnode(-1);//存放結果的鍊錶
listnode *l3=result;//result的移動指標(l3)
int iscarry=0;//是否進製
while((p!=null)&&(q!=null))
if (iscarry)//最後一位還有進製
return result->next;
}};
c++ 語法
指標(pointer)
指標是指指向另一種型別的復合型別
取位址符(操作符&)
解應用符(操作符)*
初始化和定義指標
int *p #定義指向int 型物件的指標
獲取物件的位址
int val=123
p=&val //p存放變數val的位址,或者說p是指向變數val的指標
cout<< * p //由符號*得到指標p所指的物件(結果是123)
指向指標的指標
int val=123
int *p=&val // p指向乙個int 型的數
int **pp=&p // pp 指向乙個int 型的指標
# definition for singly-linked list.
# class listnode:
# def __init__(self, x):
# self.val = x
# self.next = none
class
solution
:def
addtwonumbers
(self, l1: listnode, l2: listnode)
-> listnode:
p,q=l1,l2
len1,len2=1,
1# 獲取兩個鍊錶所對應的長度
while p.
next
isnot
none
: len1=len1+
1 p=p.
next
while q.
next
isnot
none
: len2=len2+
1 q=q.
next
# 在較短的鍊錶末尾補0
if len1>=len2:
for _ in
range
(len1-len2)
: q.
next
=listnode(0)
q=q.
next
else
:for _ in
range
(len2-len1)
: p.
next
=listnode(0)
p=p.
next
p,q=l1,l2
result=listnode(-1
) l3=result
iscarry=
0#是否進製
while
(p is
notnone
)and
(q is
notnone):
tag=iscarry+p.val+q.val
l3.next
=listnode(tag%10)
iscarry=
1if tag>=
10else
0 l3=l3.
next
p=p.
next
q=q.
next
if iscarry: l3.
next
=listnode(1)
return result.
next
c++ prime 第5版 02 兩數相加
難度 中等 題目描述 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 ...
leetcode02 兩數相加
隨機一題 給定兩個非空鍊錶來表示兩個非負整數。位數按照逆序方式儲存,它們的每個節點只儲存單個數字。將兩數相加返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。示例 輸入 2 4 3 5 6 4 輸出 7 0 8 原因 342 465 807 思路 剛開始很蠢的我居然乙個乙個讀...
LeetCode 02 兩數相加
definition for singly linked list.class listnode def init self,x self.val x self.next none class solution def addtwonumbers self,l1 listnode,l2 listno...