2-Add-Two-Numbers
0x0 题目详情
0x1 解题思路
0x2 代码实现
/**
* 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) {
int grate=0;
ListNode result=new ListNode(-1);
ListNode curNode=result;;
while(l1!=null && l2!=null){
int current=l1.val+l2.val+grate;
grate=current/10;
curNode.next=new ListNode(current%10);
curNode=curNode.next;
l1=l1.next;
l2=l2.next;
}
while(l1!=null){
int current=l1.val+grate;
grate=current/10;
curNode.next=new ListNode(current%10);
curNode=curNode.next;
l1=l1.next;
}
while(l2!=null){
int current=l2.val+grate;
grate=current/10;
curNode.next=new ListNode(current%10);
curNode=curNode.next;
l2=l2.next;
}
//额外判断一下进位值,看看是否需要额外构造节点
if(grate!=0){
curNode.next=new ListNode(grate);
curNode=curNode.next;
}
return result.next;
}
}0x3 课后总结
Last updated