1563 / 1563 个通过测试用例
状态:通过
执行用时:2 ms
内存消耗:43 MB
提交时间:6 月,4 周之前

/**
 * 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) {
        //初始化首节点
        ListNode listTemp = new ListNode(0);
        ListNode listNode = listTemp;
        /**
         * 兼容超大数据 首节点 ----> 尾节点
         * 实现思想模拟算盘 10进一
         */
        // l1 = 2   l2 = 8 6 4   074
        //1 2   3
        //7 6   4
        int temp = 0;
        //记录位数
        while (true) {
            temp = l1.val+l2.val+listTemp.val;

            //System.out.println(temp);

            if (temp > 9) {
                //设置当前节点值
                listTemp.val = temp % 10;
                //下个节点进一
                listTemp.next = new ListNode(0);
                listTemp.next.val += 1;
            } else {
                listTemp.val = temp;
            }
            if (listTemp.next == null) {
                if (l1.next == null && l2.next == null)
                        break;
                listTemp.next = new ListNode(0);
                listTemp = listTemp.next;
            }else
                listTemp = listTemp.next;

            if (l1.next == null)
                l1.val = 0;

            if (l2.next == null)
                l2.val = 0;

            if (l1.next != null)    l1 = l1.next;
            if (l2.next != null)    l2 = l2.next;


        }

       // System.out.println(listNode);
        return listNode;
    }
    
}
Last modification:May 5th, 2020 at 11:21 pm
如果觉得我的文章对你有用,请随意赞赏