2.Add Two Numbers
2016-07-23 21:46
162 查看
for examples:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
<遇到指针我也是有点混乱啊,简单小题也让我神魂颠倒~~>
#include<iostream>
using namespace std;
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* result ;
ListNode* cur;
int carry=0;
int i = 0;
ListNode* rs;
while(l1!=NULL || l2!=NULL || carry!=0){
int r1 = 0;
if(l1!=NULL) {
r1 = r1+l1->val;
l1 = l1 -> next;
}
if(l2!=NULL){
r1 = r1+l2->val;
l2 = l2 -> next;
}
r1 = r1 + carry;
carry = r1/10;
if(i==0){
cur = new ListNode(r1%10);
result = cur;
rs = cur;
i=1;
}else{
cur = new ListNode(r1%10);
//brave to try
rs -> next = cur;
rs = cur;
}
}
return result;
}
};
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
<遇到指针我也是有点混乱啊,简单小题也让我神魂颠倒~~>
#include<iostream>
using namespace std;
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* result ;
ListNode* cur;
int carry=0;
int i = 0;
ListNode* rs;
while(l1!=NULL || l2!=NULL || carry!=0){
int r1 = 0;
if(l1!=NULL) {
r1 = r1+l1->val;
l1 = l1 -> next;
}
if(l2!=NULL){
r1 = r1+l2->val;
l2 = l2 -> next;
}
r1 = r1 + carry;
carry = r1/10;
if(i==0){
cur = new ListNode(r1%10);
result = cur;
rs = cur;
i=1;
}else{
cur = new ListNode(r1%10);
//brave to try
rs -> next = cur;
rs = cur;
}
}
return result;
}
};
相关文章推荐
- Liuctic计算几何库
- 配置hadoop时,Linux主机名称不要带有下划线
- Linux man命令
- zookeeper入门(一)——ZooKeeper伪集群安装
- 有关TCP方式连接建立时三次握手,为什么不是2次 或4次 5次
- 使用github for windows上传项目及拷贝项目
- 从零开始学习设计模式——策略模式
- virtualenv的安装以及使用
- Unix/Linux 只有一个进程实例
- swift 学习笔记五
- MongoDB 删除数据库
- python2和python3注意事项
- MongoDB 删除数据库
- MongoDB 删除数据库
- c++浮点数可以表示十进制有效数字
- 3的次幂
- python的mysqldb安装方案
- Understanding HDFS Recovery Processes (Part 1)
- zabbix wechat 报警
- 1-1-3html实例代码