mirror of
https://github.com/chefyuan/algorithm-base.git
synced 2025-08-04 23:02:31 +00:00
验证,校对
This commit is contained in:
@@ -23,22 +23,22 @@
|
||||
示例1:
|
||||
|
||||
```java
|
||||
输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295
|
||||
输出:2 -> 1 -> 9,即912
|
||||
输入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即 617 + 295
|
||||
输出:2 -> 1 -> 9,即 912
|
||||
```
|
||||
|
||||
示例2:
|
||||
|
||||
```java
|
||||
输入:(9 -> 9) + (9 -> 9),即99+99
|
||||
输出:8->9->1
|
||||
输入:(9 -> 9) + (9 -> 9),即 99 + 99
|
||||
输出:8 -> 9 -> 1
|
||||
```
|
||||
|
||||
示例3:
|
||||
|
||||
```java
|
||||
输入:(5)+(5),即5+5
|
||||
输出:0->1
|
||||
输入:(5) + (5),即 5 + 5
|
||||
输出:0 -> 1
|
||||
```
|
||||
|
||||
**题目解析:**
|
||||
@@ -67,7 +67,7 @@
|
||||
|
||||

|
||||
|
||||
注:这里需要注意得时,链表遍历结束,我们应该跳出循环,但是我们的nlist仍在尾部添加了1节点,那是因为跳出循环时,summod值为1,所以我们需要在尾部再添加一个节点。
|
||||
注:这里需要注意得时,链表遍历结束,我们应该跳出循环,但是我们的 nlist 仍在尾部添加了1节点,那是因为跳出循环时,summod 值为1,所以我们需要在尾部再添加一个节点。
|
||||
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ Java Code:
|
||||
class Solution {
|
||||
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
|
||||
//待会儿要返回的链表
|
||||
ListNode nList = new ListNode(-1);//虚拟头节点
|
||||
ListNode nList = new ListNode(-1);//哑节点
|
||||
ListNode tempnode = nList;
|
||||
//用来保存进位值,初始化为0
|
||||
int summod = 0;
|
||||
@@ -92,7 +92,7 @@ class Solution {
|
||||
int sum = l1num+l2num+summod;
|
||||
//更新进位值,例18/10=1,9/10=0
|
||||
summod = sum/10;
|
||||
//新节点保存的值,18% 8=2,则添加2
|
||||
//新节点保存的值,18%8=2,则添加2
|
||||
sum = sum%10;
|
||||
//添加节点
|
||||
tempnode.next = new ListNode(sum);
|
||||
@@ -109,7 +109,7 @@ class Solution {
|
||||
if (summod != 0) {
|
||||
tempnode.next = new ListNode(summod);
|
||||
}
|
||||
return nList.next;//去除-1节点
|
||||
return nList.next;//去除哑节点
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -121,7 +121,7 @@ class Solution {
|
||||
public:
|
||||
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
|
||||
//待会儿要返回的链表
|
||||
ListNode * nList = new ListNode(-1);//虚拟头节点
|
||||
ListNode * nList = new ListNode(-1);//哑节点
|
||||
ListNode * tempnode = nList;
|
||||
//用来保存进位值,初始化为0
|
||||
int summod = 0;
|
||||
@@ -134,7 +134,7 @@ public:
|
||||
int sum = l1num + l2num + summod;
|
||||
//更新进位值,例18/10=1,9/10=0
|
||||
summod = sum / 10;
|
||||
//新节点保存的值,1 %8=2,则添加2
|
||||
//新节点保存的值,18%8=2,则添加2
|
||||
sum = sum % 10;
|
||||
//添加节点
|
||||
tempnode->next = new ListNode(sum);
|
||||
@@ -151,7 +151,7 @@ public:
|
||||
if (summod != 0) {
|
||||
tempnode->next = new ListNode(summod);
|
||||
}
|
||||
return nList->next;//去除-1节点
|
||||
return nList->next;//哑节点
|
||||
}
|
||||
};
|
||||
```
|
||||
@@ -161,7 +161,7 @@ JS Code:
|
||||
```js
|
||||
var addTwoNumbers = function(l1, l2) {
|
||||
//待会儿要返回的链表
|
||||
let nList = new ListNode(-1);//虚拟头节点
|
||||
let nList = new ListNode(-1);//哑节点
|
||||
let tempnode = nList;
|
||||
//用来保存进位值,初始化为0
|
||||
let summod = 0;
|
||||
@@ -174,7 +174,7 @@ var addTwoNumbers = function(l1, l2) {
|
||||
let sum = l1num + l2num + summod;
|
||||
//更新进位值,例18/10=1,9/10=0
|
||||
summod = ~~(sum / 10);
|
||||
//新节点保存的值,1 %8=2,则添加2
|
||||
//新节点保存的值,18%8=2,则添加2
|
||||
sum = sum % 10;
|
||||
//添加节点
|
||||
tempnode.next = new ListNode(sum);
|
||||
@@ -191,21 +191,21 @@ var addTwoNumbers = function(l1, l2) {
|
||||
if (summod !== 0) {
|
||||
tempnode.next = new ListNode(summod);
|
||||
}
|
||||
return nList.next;//去除-1节点
|
||||
return nList.next;//去除哑节点
|
||||
};
|
||||
```
|
||||
|
||||
Python Code:
|
||||
|
||||
```py
|
||||
```python
|
||||
class Solution:
|
||||
def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
|
||||
# 待会儿要返回的链表
|
||||
nList = ListNode(-1) # 虚拟头节点
|
||||
nList = ListNode(-1) # 哑节点
|
||||
tempnode = nList
|
||||
# 用来保存进位值,初始化为0
|
||||
summod = 0
|
||||
while l1 is not None and l2 is not None:
|
||||
while l1 is not None o l2 is not None:
|
||||
# 如果l1的链表为空则l1num为0,若是不为空,则为链表的节点值
|
||||
# 判断是否为空,为空就设为0
|
||||
l1num = 0 if l1 is None else l1.val
|
||||
@@ -227,6 +227,6 @@ class Solution:
|
||||
# 最后根据进位值判断需不需要继续添加节点
|
||||
if summod != 0:
|
||||
tempnode.next = ListNode(summod)
|
||||
return nList.next # 去除-1节点
|
||||
return nList.next # 去除哑节点
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user