Leetcode Add Two Numbers
来源:互联网 发布:知乎 驱动 微软认证 编辑:程序博客网 时间:2024/06/02 03:16
熟悉指针的用法。要先虚拟出一个头指针,但是用二级指针应该可以回避这个问题。
/** * 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) { if(!l1 || !l2){ return l1 ? l1 : l2; } ListNode *ans = new ListNode(0); ListNode *cur1 = l1, *cur2 = l2, *head = ans; int carry = 0; int sum, n1, n2; while(cur1 || cur2){ n1 = cur1 ? cur1->val : 0; n2 = cur2 ? cur2->val : 0; sum = (n1 + n2 + carry) % 10; carry = (n1 + n2 + carry) / 10; ans->next = new ListNode(sum); cur1 = cur1 ? cur1->next : NULL; cur2 = cur2 ? cur2->next : NULL; ans = ans->next; } if(carry){ ans->next = new ListNode(1); } return head->next; }};
0 0
- LeetCode: Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- Leetcode : Add Two Numbers
- 【leetcode】Add Two Numbers
- [LeetCode]Add Two Numbers
- leetcode Add Two Numbers
- LeetCode-Add Two Numbers
- [leetcode] Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode - Add Two Numbers
- LeetCode | Add Two Numbers
- 【leetcode】Add Two Numbers
- Android平台的IPC通訊機制
- IOS开发入门之创建项目
- 黑马程序员_java Io详解
- 理解xib(nib)、File’s Owner、First Responder、outlet、action等概念
- fnd_request.submit_request 的用法
- Leetcode Add Two Numbers
- std::bind使用中一个很蛋疼的问题——NULL的宏定义
- 扩充 staticContent 节点,让 IIS 看的懂 HTML5 Video 与 WebFont
- 关于json_encode中文为null的情况
- 关于DBN的几点思考
- Step for creating new Requirement Routine (Output Control) for output type
- C++并发实战10:保护共享数据的可选机制
- js setTimeout()函数 [倒计时用]
- linux进程任务状态转换图