2. Add Two Numbers | Java最短代码实现

来源:互联网 发布:app拼图软件 编辑:程序博客网 时间:2024/06/11 12:50
原题链接:2. Add Two Numbers

【思路】

本题考查链表的基本操作。题意是将两个链表从右向左逐位相加,进位加入到下一个节点,其实就是模拟两个数相加:

    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {        ListNode ls = new ListNode(0);        ListNode temp = ls;        int c = 0;        while (l1 != null || l2 != null) {            int sum = c;            if (l1 != null) {                sum += l1.val;                l1 = l1.next;            }            if (l2 != null) {                sum += l2.val;                l2 = l2.next;            }            if (sum >= 10) {                temp.next = new ListNode(sum - 10);                c = 1;            } else {                temp.next = new ListNode(sum);                c = 0;            }            temp = temp.next;        }        temp.next = c == 1 ? new ListNode(1) : null;  //如果c不为0,那么还要新增一个结点        return ls.next;    }
1555 / 1555 test cases passed. Runtime: 4 ms  Your runtime beats 35.18% of javasubmissions.
欢迎优化!

1 0
原创粉丝点击