2.4-链表模拟整数加法(same in LeetCode)

来源:互联网 发布:万达网络科技集团招聘 编辑:程序博客网 时间:2024/05/19 13:06

You have two numbers represented by a linked list, where each node contains a single digit. The digits are stored in reverse order, such that the 1’s digit is at the head of the list. Write a function that adds the two numbers and returns the sum as a linked list.
EXAMPLE
Input: (3 -> 1 -> 5), (5 -> 9 -> 2)
Output: 8 -> 0 -> 8

leetcode:Add Two Numbers

http://blog.csdn.net/todorovchen/article/details/24846833

ListNode *addTwoNumbers(ListNode *l1, ListNode *l2){   ListNode *new_head = new ListNode(0);   ListNode *cur = new_head;   int carry = 0;   while(l1 || l2 || carry!=0)   {       int val1=0, val2=0;       if(l1)       {           val1=l1->val;           l1=l1->next;       }       if(l2)       {           val2=l2->val;           l2=l2->next;       }       int sum = val1 + val2 + carry;       carry = sum/10;       cur->next = new ListNode(sum%10);       cur = cur->next;   }   return new_head->next;}


0 0
原创粉丝点击