Leetcode2 Add Two Numbers
Posted chason95
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode2 Add Two Numbers相关的知识,希望对你有一定的参考价值。
之前没按顺序做,发现原来第二题也是挺有做头的,以后可以按顺序先刷前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; } }
以上是关于Leetcode2 Add Two Numbers的主要内容,如果未能解决你的问题,请参考以下文章