2. 兩數相加addTwoNumbers
阿新 • • 發佈:2021-01-09
技術標籤:Algorithm_leetCode
2. 兩數相加addTwoNumbers(twoSum)
1. python
class Solution:
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
carry = 0
pre=ListNode(0);
cur=pre
while(l1 or l2):
x=0 if l1==None else l1.val
y=0 if l2==None else l2.val
sum=x+y+carry
carry = sum //10
sum =sum%10
cur.next=ListNode(sum)
cur=cur.next
if l1:
l1=l1.next
if l2:
l2=l2.next
if carry==1:
cur.next=ListNode(carry)
return pre.next
2. Java
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode pre=new ListNode(0);
ListNode cur =pre;
int carry =0;
while(l1!=null || l2!=null){
int x=l1==null?0:l1.val;
int y=l2==null?0:l2.val;
int sum =x+y+carry;
carry =sum/10;
sum = sum%10;
cur.next = new ListNode(sum);
cur =cur.next;
if(l1!=null){
l1=l1.next;
}
if(l2!=null){
l2=l2.next;
}
}
if(carry ==1){
cur.next = new ListNode(carry);
}
return pre.next;
}
}