本文共 1079 字,大约阅读时间需要 3 分钟。
Leetcode题目编号:2
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* res = new ListNode(-1); ListNode* head = res; //返回链表的头 int inHeight = 0; //进位 ListNode* L1Cur = l1; ListNode* L2Cur = l2; while(L1Cur != NULL || L2Cur != NULL || inHeight !=0){ int nums1 = 0; int nums2 = 0; if(L1Cur!= NULL){ nums1 = L1Cur->val; L1Cur = L1Cur->next; } if(L2Cur!= NULL){ nums2 = L2Cur->val; L2Cur = L2Cur->next; } int numsNew = nums1+nums2+inHeight; inHeight = numsNew /10; numsNew = numsNew % 10; ListNode* sumNode = new ListNode(numsNew); res->next = sumNode; res = res->next; } return head->next; }};
注意:
1 维护好进位
2 维护好循环变量
转载地址:http://onisn.baihongyu.com/