LeetCode-AddTwoNumbers

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

题目:

You are given two linked lists rePResenting two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)

Output: 7 -> 0 -> 8

思路:

就像做加法一样,记得进位和判断结尾

packagelist;publicclassAddTwoNumbers {publicListNode addTwoNumbers(ListNode l1, ListNode l2) {

ListNode p=newListNode(0);

ListNode node=p;intsum = 0;intcarry = 0;while(true) {if(l1 !=null&& l2 !=null) {

sum= l1.val + l2.val +carry;

l1=l1.next;

l2=l2.next;

}elseif(l1 !=null) {

sum= l1.val +carry;

l1=l1.next;

}elseif(l2 !=null){

sum= l2.val +carry;

l2=l2.next;

}else{

sum=carry;if(sum == 0)

break;

}

p.next=newListNode(sum % 10);

carry= sum / 10;

p=p.next;

}returnnode.next;

}publicstaticvoidmain(String[] args) {//TODO Auto-generated method stub}

}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航