/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode Node = new ListNode();
dg1(l1,l2,Node);
return Node.next;
}
int temp = 0 ;
public void dg1(ListNode l1 , ListNode l2,ListNode Node){
if(l1 == null || l2 == null){
dg2(l1 == null ? l2 : l1 , Node);
return;
}
int add = l1.val + l2.val + temp ;
if(add > 9){
Node.next = new ListNode(add%10);
temp = 1 ;
}else{
Node.next = new ListNode(add);
temp = 0 ;
}
dg1(l1.next , l2.next , Node.next);
}
public void dg2(ListNode l , ListNode Node){
if(l == null){
if(temp == 1){
Node.next = new ListNode(temp);
}
return;
}
if((l.val+temp) > 9){
Node.next = new ListNode((l.val+temp)%10);
temp = 1 ;
}else{
Node.next = new ListNode(l.val+temp);
temp = 0 ;
}
dg2(l.next , Node.next);
}
}
LeetCode每日来一刀----
最新推荐文章于 2024-10-01 05:04:32 发布