Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
cosmicing
Prj-Cpps
提交
b4d7ff01
P
Prj-Cpps
项目概览
cosmicing
/
Prj-Cpps
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Prj-Cpps
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b4d7ff01
编写于
5月 14, 2021
作者:
cosmicing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
上传新文件
上级
15c722ab
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
83 addition
and
0 deletion
+83
-0
12-LinkList/31-AddTwoNumbers/Add_Two_Numbers.cpp
12-LinkList/31-AddTwoNumbers/Add_Two_Numbers.cpp
+83
-0
未找到文件。
12-LinkList/31-AddTwoNumbers/Add_Two_Numbers.cpp
0 → 100644
浏览文件 @
b4d7ff01
#include <iostream>
// Definition for singly-linked list.
struct
ListNode
{
int
val
;
ListNode
*
next
;
ListNode
(
int
x
)
:
val
(
x
),
next
(
nullptr
)
{}
};
class
Solution
{
public:
ListNode
*
addTwoNumbers
(
ListNode
*
l1
,
ListNode
*
l2
)
{
ListNode
*
dumHead
=
new
ListNode
(
0
);
ListNode
*
p
=
dumHead
;
int
add
=
0
;
while
(
l1
||
l2
||
add
)
{
int
val
=
get_value
(
l1
)
+
get_value
(
l2
)
+
add
;
add
=
val
/
10
;
p
->
next
=
new
ListNode
(
val
%
10
);
p
=
p
->
next
;
l1
=
get_p
(
l1
);
l2
=
get_p
(
l2
);
}
ListNode
*
ret
=
dumHead
->
next
;
delete
dumHead
;
return
ret
;
}
private:
int
get_value
(
ListNode
*
l
)
{
if
(
l
!=
nullptr
)
{
return
l
->
val
;
}
else
{
return
0
;
}
}
ListNode
*
get_p
(
ListNode
*
l
)
{
if
(
l
!=
nullptr
)
{
return
l
->
next
;
}
else
{
return
nullptr
;
}
}
};
void
deleteListNode
(
ListNode
*
l1
)
{
while
(
l1
!=
nullptr
)
{
ListNode
*
p
=
l1
->
next
;
delete
l1
;
l1
=
p
;
}
}
int
main
()
{
ListNode
*
l1
=
new
ListNode
(
0
);
l1
->
next
=
new
ListNode
(
4
);
l1
->
next
->
next
=
new
ListNode
(
3
);
ListNode
*
l2
=
new
ListNode
(
0
);
l2
->
next
=
new
ListNode
(
6
);
l2
->
next
->
next
=
new
ListNode
(
4
);
ListNode
*
ret
=
Solution
().
addTwoNumbers
(
l1
,
l2
);
while
(
ret
!=
nullptr
)
{
std
::
cout
<<
ret
->
val
<<
std
::
endl
;
ret
=
ret
->
next
;
}
deleteListNode
(
l1
);
deleteListNode
(
l2
);
deleteListNode
(
ret
);
return
0
;
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录