Lintcode: Add Two Numbers
2015-11-26 20:15
423 查看
C++
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: /** * @param l1: the first list * @param l2: the second list * @return: the sum list of l1 and l2 */ ListNode *addLists(ListNode *l1, ListNode *l2) { // write your code here if (l1 == NULL) { return l2; } if (l2 == NULL) { return l1; } ListNode *ptr1 = l1, *ptr2 = l2; ListNode *result = new ListNode(-1); ListNode *pre = result; int carry = 0, val = 0; while (ptr1 != NULL || ptr2 != NULL) { int val1 = ptr1 == NULL?0:ptr1->val; int val2 = ptr2 == NULL?0:ptr2->val; int sum = val1 + val2 + carry; val = sum; carry = sum/10; pre->next = new ListNode(val); pre = pre->next; if (ptr1!=NULL) { ptr1 = ptr1->next; } if (ptr2!=NULL) { ptr2 = ptr2->next; } } if (carry == 1) { pre->next = new ListNode(1); } return result->next; } };
相关文章推荐
- UIButton的基本使用
- 核心java系列——I/O流详解(一)
- Maven 仓库中添加Oracle JDBC驱动(11g)
- Servlets & JSP & JavaBean 参考资料
- c++11future简单使用及介绍
- 【解惑】Java动态绑定机制的内幕
- [LeetCode]Minimum Window Substring
- OC中的内存管理
- 使用github+Hexo人人都能拥有一个美美的博客
- 文章标题
- “南大软院大神养成计划“_第十一天的学习“
- C语言练习作业(五)
- python的编码类型转换
- RecycleView Adapter的封装
- C#_Delegate_泛型
- Cocos Studio 2.3.2开发中的Label控件锚点问题等
- JAVA动态绑定的内部实现机制
- python中的urlencode和urldecode
- 延迟加载之ViewStub
- ceph介绍