两个链表生成相加链表

两个链表生成相加链表

https://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b?tpId=196&tab=answerKey

public ListNode addInList (ListNode head1, ListNode head2) {
        // write code here
        Stack<ListNode> stack1=new Stack<>();//用栈保存链表 便于从链表尾部相加
        Stack<ListNode> stack2=new Stack<>();
        while (head1!=null){
            stack1.push(head1);
            head1=head1.next;
        }
        while (head2!=null){
            stack2.push(head2);
            head2=head2.next;
        }
        int jw=0;//初始化进位为0 后续不断更新
        ListNode pre=new ListNode(0);
        pre.next=null;
        while (stack1.size()>0 && stack2.size()>0){
            int  p1=stack1.pop().val;
            int  p2=stack2.pop().val;
            int rr =(p1+p2+jw)%10;
            jw=(p1+p2+jw)/10;
            ListNode temp=new ListNode(0);
            temp.val=rr;
            temp.next=pre.next;
            pre.next=temp;
        }
        //stack jw pre
        jw=tj(stack1,jw,pre);
        jw=tj(stack2,jw,pre);
        if (jw!=0) {
            ListNode t=new ListNode(0);
            t.val=jw;
            t.next=pre.next;
            pre.next=t;
        }
        return pre.next;
    }

    private int tj(Stack<ListNode> stack1, int jw, ListNode pre) {
        while (stack1.size()>0){
            int p1=stack1.pop().val;
            int rr = (p1+jw)%10;
            jw=(p1+jw)/10;
            ListNode temp=new ListNode(0);
            temp.val=rr;
            temp.next=pre.next;
            pre.next=temp;
        }
        return jw;
    }
全部评论

相关推荐

11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
442405次浏览 4511人参与
# 春招别灰心,我们一人来一句鼓励 #
41942次浏览 531人参与
# 阿里云管培生offer #
120248次浏览 2220人参与
# 地方国企笔面经互助 #
7962次浏览 18人参与
# 同bg的你秋招战况如何? #
76670次浏览 561人参与
# 虾皮求职进展汇总 #
115613次浏览 886人参与
# 北方华创开奖 #
107433次浏览 599人参与
# 实习,投递多份简历没人回复怎么办 #
2454658次浏览 34857人参与
# 实习必须要去大厂吗? #
55771次浏览 961人参与
# 提前批简历挂麻了怎么办 #
149901次浏览 1977人参与
# 投递实习岗位前的准备 #
1195935次浏览 18548人参与
# 你投递的公司有几家约面了? #
33206次浏览 188人参与
# 双非本科求职如何逆袭 #
662208次浏览 7394人参与
# 如果公司给你放一天假,你会怎么度过? #
4753次浏览 55人参与
# 机械人春招想让哪家公司来捞你? #
157628次浏览 2267人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11561次浏览 287人参与
# 发工资后,你做的第一件事是什么 #
12704次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35804次浏览 384人参与
# 参加完秋招的机械人,还参加春招吗? #
20126次浏览 240人参与
# 我的上岸简历长这样 #
452016次浏览 8088人参与
# 实习想申请秋招offer,能不能argue薪资 #
39299次浏览 314人参与
# 非技术岗是怎么找实习的 #
155868次浏览 2120人参与
牛客网
牛客企业服务