[LeetCode]2. Add Two Numbers链表相加

注意进位的处理和节点为null的处理

public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int flag = 0;
        ListNode res = null;
        ListNode temp = null;
        //注意如果进位不是0的话还要添加一个节点
        while (l1!=null||l2!=null||flag!=0)
        {
            int cur = flag;
            flag = 0;
            if (l1!=null) {
                cur+=l1.val;
                l1 = l1.next;
            }
            if (l2!=null) {
                cur+=l2.val;
                l2 = l2.next;
            }
            if (cur>9)
            {
                flag = 1;
                cur%=10;
            }
            if (res==null)
            {
                res = new ListNode(cur);
                temp = res;
                continue;
            }
            temp.next = new ListNode(cur);
            temp = temp.next;
        }
        return res;
    }

 

posted @ 2018-02-09 19:01  stAr_1  阅读(93)  评论(0编辑  收藏  举报