Leetcode2 Add Two Numbers
阿新 • • 發佈:2018-07-13
nbsp 技術 code png leetcode null 順序 for def
之前沒按順序做,發現原來第二題也是挺有做頭的,以後可以按順序先刷前150道。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode firstNode = newListNode(0); ListNode pre = new ListNode(-1); ListNode p1=l1,p2=l2; int carrybit =0; //進位位,有進位設對應值,本題為1,無進位設為0 boolean isFirst = true; while(p1!=null||p2!=null||carrybit!=0) { //用例[5],[5],應輸出[0,1]結果得到[0],故增加判斷carrybit!=0 ListNode tempNode;int temp=0; if(p1!=null&&p2!=null) { temp = p1.val+p2.val+carrybit; p1=p1.next;p2=p2.next; } else if(p1!=null&&p2==null) { temp = p1.val+carrybit; p1=p1.next; }else if(p1==null&&p2!=null) { temp = p2.val+carrybit; p2=p2.next; } else{ temp = carrybit; } tempNode = new ListNode(temp%10); carrybit = temp/10; if(isFirst) {firstNode = tempNode;pre=firstNode;isFirst=false;} else {pre.next=tempNode;pre=tempNode;} } return firstNode; } }
Leetcode2 Add Two Numbers