题解 | #两个链表生成相加链表#

两个链表生成相加链表

http://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b

//翻转两个链表过后以大数相加的套路处理,然后把结果链表在翻转一次就好了
import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param head1 ListNode类 
     * @param head2 ListNode类 
     * @return ListNode类
     */
    public ListNode addInList (ListNode head1, ListNode head2) {
        // write code here
        ListNode newhead1=rev(head1);
        ListNode newhead2=rev(head2);
        ListNode ans=new ListNode(-1);
        ListNode res=ans;
        if(newhead1==null)
            return newhead2;
        if(newhead2==null)
            return newhead1;
        int jwei=0;
        while(newhead1!=null&&newhead2!=null){
            int num=newhead1.val+newhead2.val+jwei;
            jwei=num/10;
              num%=10;
            ListNode cur=new ListNode(num);
            ans.next=cur;
            ans=ans.next;
            newhead1=newhead1.next;
            newhead2=newhead2.next;
        }
        while(newhead2!=null){
            int num=newhead2.val+jwei;
            jwei=num/10; 
            num%=10;
            ListNode cur=new ListNode(num);
            ans.next=cur;
            ans=ans.next;
            newhead2=newhead2.next;
        }
                while(newhead1!=null){
            int num=newhead1.val+jwei;
            jwei=num/10; 
            num%=10;
            ListNode cur=new ListNode(num);
            ans.next=cur;
            ans=ans.next;
            newhead1=newhead1.next;
        }
        if(jwei!=0){
            ListNode cur=new ListNode(jwei);
            ans.next=cur;
        }
       return rev(res.next);
    }
    
    public ListNode rev(ListNode head){
        ListNode cur=null;
        while(head!=null){
            ListNode temp=head.next;
            head.next=cur;
            cur=head;
            head=temp;
        }
        return cur;
    }
}
全部评论
666 ·《》·
1 回复 分享
发布于 2021-10-20 10:50
最后记得把原始两个链表给反转回去吧。哈哈😄
点赞 回复 分享
发布于 2022-03-05 17:29

相关推荐

01-15 13:52
已编辑
河南大学 Java
CoderEcho:牌子✌🏻
点赞 评论 收藏
分享
野猪不是猪🐗:是我导致的,我前天对力扣进行了跨站脚本攻击,网站把我的请求给block了(胡言乱语)
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客企业服务