博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Add Two Numbers
阅读量:4150 次
发布时间:2019-05-25

本文共 1693 字,大约阅读时间需要 5 分钟。

struct ListNode {	int val;	ListNode *next;	ListNode(int x) : val(x), next(NULL) {}};class Solution {//dummy node in the head of the result, avoid judging NULL of headpublic:	ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {		// Start typing your C/C++ solution below		// DO NOT write int main() function		ListNode dummy(-1);//dummy node in the head of the result, avoid judging NULL of head		ListNode* pre = &dummy;		ListNode* p1 = l1;		ListNode* p2 = l2;		int carry = 0;		while(p1 != NULL || p2 != NULL)		{			int a1 = p1 == NULL ? 0 : p1->val;			int a2 = p2 == NULL ? 0 : p2->val;			int sum = a1+a2+carry;			carry = sum/10;			ListNode* node = new ListNode(sum%10);			pre->next = node;			pre = pre->next;			p1 = p1 == NULL ? NULL : p1->next;			p2 = p2 == NULL ? NULL : p2->next;		}		if(carry != 0) pre->next = new ListNode(carry);		return dummy.next;	}};
second time
/** * 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) {        // Start typing your C/C++ solution below        // DO NOT write int main() function                ListNode dummy(0);        ListNode* prev = &dummy;        int carry = 0;        while(l1 != NULL || l2 != NULL || carry != 0)        {            int a = 0;            int b = 0;                        if(l1 != NULL) a = l1->val, l1 = l1->next;            if(l2 != NULL) b = l2->val, l2 = l2->next;            int sum = a+b+carry;            prev->next = new ListNode(sum%10);            prev = prev->next;            carry = sum/10;        }                return dummy.next;    }};

转载地址:http://gaxti.baihongyu.com/

你可能感兴趣的文章
ARM汇编伪指令
查看>>
字节序问题--大端法小端法
查看>>
STM32 USART
查看>>
Ubuntu中vim和gedit显示中文乱码
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
dpkg的用法
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>
openocd zylin
查看>>
cscope数据库生成脚本
查看>>
Ubuntu 10.10输入了正确的用户名密码但是无法登录
查看>>
Eclipse 预览程序 底色
查看>>
保护眼睛 颜色设置
查看>>
splint 编译安装
查看>>
Eclipse 快捷键
查看>>
Doxygen语法
查看>>
Doxygen
查看>>
ubuntu 安装Matlab 解决显示中文乱码
查看>>