标签:next return 增加 list ima linked car while temp
之前没按顺序做,发现原来第二题也是挺有做头的,以后可以按顺序先刷前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 = new ListNode(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; } }
标签:next return 增加 list ima linked car while temp
原文地址:https://www.cnblogs.com/chason95/p/9306325.html