leetcode Add Two Numbers
2015-12-14 08:40
357 查看
最近一直在忙实验室项目的事情,好久没写代码了,手太生了,所以去leetcode官网随便找了两个简单题刷了一下,第一个一遍就通过了,第二个还是有点问题。感觉这种东西就得多练。不然会一直退步退步,下面是我写的两个题的解法,仅供参考:(先写一题吧下一题之后补上)
Add Two Numbers
//C/C++解法
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
__author__yaojianpeng
//C/C++解法
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode *head=new ListNode(0);
ListNode *pre=head;
int carry=0;
while (l1!=NULL||l2!=NULL){
int a1=0;
if (l1!=NULL)
{a1=l1->val;
l1=l1->next;
}
int a2=0;
if (l2!=NULL)
{a2=l2->val;
l2=l2->next;
}
int value=a1+a2+carry;
pre->next=new ListNode(value%10);
carry=value/10;
pre=pre->next;
}
if (carry>0)
pre->next=new ListNode(carry);
return head->next;
}
};
Add Two Numbers
//C/C++解法
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
__author__yaojianpeng
//C/C++解法
class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode *head=new ListNode(0);
ListNode *pre=head;
int carry=0;
while (l1!=NULL||l2!=NULL){
int a1=0;
if (l1!=NULL)
{a1=l1->val;
l1=l1->next;
}
int a2=0;
if (l2!=NULL)
{a2=l2->val;
l2=l2->next;
}
int value=a1+a2+carry;
pre->next=new ListNode(value%10);
carry=value/10;
pre=pre->next;
}
if (carry>0)
pre->next=new ListNode(carry);
return head->next;
}
};
相关文章推荐
- ecilpse 错误举例
- 在设计模式关系类
- ISoftWare 1
- 从jsp向servlet传送数据的两种方式
- Oracle数据库迁移-基础
- dwz dialog文件上传成功后更新
- JAVA中StringBuffer类常用方法详解
- 音频视频
- 方法的重载与重写区别
- Calculate Leave-One-Out Prediction for GLM
- ORACLE 迁移
- python学习日记_第五天(ex12~13)
- 重写和重载的区别
- java项目——java中线程共享数据同步解决办法
- mysql数据库配置安装
- 北京Uber优步司机奖励政策(12月14日)
- POJ3278 Catch That Cow 简单BFS
- 什么是设计模式
- centos 安装 使用本地图像文件来安装网络安装
- 重写和重载的区别