LeetCode Add Two Numbers

来源:互联网 发布:cnc加工中心手动编程 编辑:程序博客网 时间:2024/06/05 00:32

题意:链表加法

代码如下:

class Solution{    ListNode addTwoNumbers(ListNode l1, ListNode l2)    {        ListNode cur1 = l1, cur2 = l2;        int carry = 0;        ListNode phead = null, ptail = null;        while (cur1 != null && cur2 != null)        {            int sum = cur1.val + cur2.val + carry;            carry = sum / 10;            if (null == phead)            {                phead = new ListNode(sum % 10);                ptail = phead;            }            else            {                ptail.next = new ListNode(sum % 10);                ptail = ptail.next;            }            cur1 = cur1.next;            cur2 = cur2.next;        }        if (cur2 != null)        {            cur1 = cur2;        }        while (cur1 != null)        {            int sum = cur1.val + carry;            carry = sum / 10;            ptail.next = new ListNode(sum % 10);            ptail = ptail.next;            cur1 = cur1.next;        }        if (carry > 0)        {            ptail.next = new ListNode(carry);            ptail = ptail.next;        }        return phead;    }}


0 0