Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[pull] master from youngyangyang04:master #23

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
pull merged 68 commits into AlgorithmAndLeetCode:master from youngyangyang04:master
Jul 3, 2022
Merged
Changes from 3 commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
6d82627
添加(0941.有效的山脉数组.md):增加typescript版本
xiaofei-2020 May 24, 2022
211f9f2
添加(0344.反转字符串.md):PHP版本
fmtvar May 24, 2022
ded66cf
Update 0052.N皇后II.md
wang2jun May 24, 2022
3665c05
增加(剑指Offer05.替换空格.md):php版本
fmtvar May 24, 2022
a69ee03
添加 0404.左叶子之和.md Scala版本
wzqwtt May 24, 2022
591cf19
添加(0151.翻转字符串里的单词.md):PHP版本
fmtvar May 24, 2022
17a2ea3
添加 0513.找树左下角的值.md Scala版本
wzqwtt May 24, 2022
4405be2
增加(0206.翻转链表.md):php版本
fmtvar May 24, 2022
5e0a01c
增加(0019.删除链表的倒数第N个节点.md):PHP版本
fmtvar May 24, 2022
1a01fe3
添加 0112.路径总和.md Scala版本
wzqwtt May 24, 2022
e28c733
添加(1207.独一无二的出现次数.md):增加typescript版本
xiaofei-2020 May 25, 2022
0fe499a
添加 0106.从中序与后序遍历序列构造二叉树.md Scala版本
wzqwtt May 25, 2022
2137778
添加(0015.三数之和.md):增加javascript版本nsum的通用解法
Damon0820 May 25, 2022
c70440a
添加(0283.移动零.md):增加typescript版本
xiaofei-2020 May 26, 2022
36a1d71
Update 0541.反转字符串II.md
harrytsz May 26, 2022
8d3e5b4
添加(0232.用栈实现队列.md):PHP版本
fmtvar May 26, 2022
5baecc0
添加(0225.用队列实现栈.md):PHP版本
fmtvar May 26, 2022
513ec54
添加(0189.旋转数组.md):增加typescript版本
xiaofei-2020 May 27, 2022
156d8fd
增加(0020.有效的括号.md):PHP版本
fmtvar May 27, 2022
edbff2f
添加(1047.删除字符串中的所有相邻重复项.md):php版本
fmtvar May 27, 2022
821ca65
添加 0654.最大二叉树.md Scala版本
wzqwtt May 27, 2022
de34170
添加 0617.合并二叉树.md Scala版本
wzqwtt May 27, 2022
9412e2e
添加 0700.二叉搜索树中的搜索.md Scala版本
wzqwtt May 27, 2022
d4a4eda
添加 0098.验证二叉搜索树.md Scala版本
wzqwtt May 27, 2022
654bf61
Merge branch 'youngyangyang04:master' into master
Damon0820 May 27, 2022
4e95d66
添加(0509.斐波那契数.md):增加javascript版本优化空间复杂度到O(1)解法
Damon0820 May 27, 2022
9929093
添加(0509.斐波那契数.md):增加javascript版本优化空间复杂度到O(1)解法
Damon0820 May 27, 2022
a9f8302
添加(0724.寻找数组的中心索引.md):增加typescript版本
xiaofei-2020 May 28, 2022
6f46d91
添加 0530.二叉搜索树的最小绝对差.md Scala版本
wzqwtt May 28, 2022
779adf7
添加 0501.二叉搜索树中的众数.md Scala版本
wzqwtt May 28, 2022
fdd646e
Update
youngyangyang04 Jun 17, 2022
0f1b6cd
Merge pull request #1392 from xiaofei-2020/extra02
youngyangyang04 Jun 24, 2022
beacaeb
Merge branch 'master' into 0344
youngyangyang04 Jun 24, 2022
f85b5a2
Merge pull request #1393 from fmtvar/0344
youngyangyang04 Jun 24, 2022
3f538d4
Merge pull request #1394 from wang2jun/master
youngyangyang04 Jun 25, 2022
3f0bb3c
Merge branch 'master' into offer-05
youngyangyang04 Jun 25, 2022
fe4737c
Merge pull request #1395 from fmtvar/offer-05
youngyangyang04 Jun 25, 2022
73e48c1
Merge pull request #1396 from fmtvar/0151
youngyangyang04 Jun 25, 2022
ce89a3e
Merge pull request #1397 from wzqwtt/tree09
youngyangyang04 Jun 26, 2022
2cf8ee5
Merge branch 'master' into 0206
youngyangyang04 Jun 26, 2022
e8d1a1a
Merge pull request #1398 from fmtvar/0206
youngyangyang04 Jun 26, 2022
cb2d0e8
Merge branch 'master' into 0019
youngyangyang04 Jun 26, 2022
866b9e8
Merge pull request #1399 from fmtvar/0019
youngyangyang04 Jun 27, 2022
4065ced
Merge branch 'master' into tree10
youngyangyang04 Jun 27, 2022
908f347
Merge pull request #1400 from wzqwtt/tree10
youngyangyang04 Jun 27, 2022
5cdd184
Merge pull request #1401 from xiaofei-2020/extra03
youngyangyang04 Jun 27, 2022
5d92348
Merge pull request #1402 from wzqwtt/tree11
youngyangyang04 Jun 27, 2022
812aeed
Update
youngyangyang04 Jun 27, 2022
1b16a93
更新力扣链接
youngyangyang04 Jun 27, 2022
1ca56dd
Merge branch 'master' of github.com:youngyangyang04/leetcode-master
youngyangyang04 Jun 27, 2022
c6a4ea6
Merge pull request #1403 from Damon0820/master
youngyangyang04 Jun 28, 2022
d69eab3
Merge pull request #1404 from xiaofei-2020/extra04
youngyangyang04 Jun 28, 2022
6f0e93c
Merge branch 'master' into 0232
youngyangyang04 Jun 28, 2022
634c051
Merge pull request #1405 from fmtvar/0232
youngyangyang04 Jun 28, 2022
05fd280
Merge pull request #1406 from harrytsz/master
youngyangyang04 Jun 30, 2022
1b9fdb7
Merge branch 'master' into 0225
youngyangyang04 Jun 30, 2022
f1ac289
Merge pull request #1407 from fmtvar/0225
youngyangyang04 Jun 30, 2022
f62a20e
Merge pull request #1408 from xiaofei-2020/extra05
youngyangyang04 Jun 30, 2022
81e3900
Merge branch 'master' into 0020
youngyangyang04 Jun 30, 2022
0b32570
Merge pull request #1409 from fmtvar/0020
youngyangyang04 Jun 30, 2022
6274be6
Merge branch 'master' into 1047
youngyangyang04 Jul 1, 2022
31d7d39
Merge pull request #1410 from fmtvar/1047
youngyangyang04 Jul 1, 2022
b33f3d3
Merge pull request #1411 from wzqwtt/tree12
youngyangyang04 Jul 1, 2022
156883e
Merge pull request #1412 from wzqwtt/tree13
youngyangyang04 Jul 1, 2022
eedd129
Merge pull request #1413 from Damon0820/question0509
youngyangyang04 Jul 2, 2022
cf8582d
Merge pull request #1414 from xiaofei-2020/extra06
youngyangyang04 Jul 2, 2022
dc8fcd5
Merge branch 'master' into tree14
youngyangyang04 Jul 2, 2022
23cc663
Merge pull request #1415 from wzqwtt/tree14
youngyangyang04 Jul 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 95 additions & 12 deletions problems/0112.路径总和.md
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ public:

## java

lc112
### 0112.路径总和
```java
class solution {
public boolean haspathsum(treenode root, int targetsum) {
Expand Down Expand Up @@ -373,7 +373,7 @@ class solution {

```

0113.路径总和-ii
### 0113.路径总和-ii

```java
class solution {
Expand Down Expand Up @@ -436,7 +436,7 @@ class Solution {

## python

0112.路径总和
### 0112.路径总和

**递归**
```python
Expand Down Expand Up @@ -488,7 +488,7 @@ class solution:
return false
```

0113.路径总和-ii
### 0113.路径总和-ii

**递归**
```python
Expand Down Expand Up @@ -545,7 +545,7 @@ class Solution:

## go

112. 路径总和
### 112. 路径总和

```go
//递归法
Expand All @@ -570,7 +570,7 @@ func hasPathSum(root *TreeNode, targetSum int) bool {
}
```

113. 路径总和 II
### 113. 路径总和 II

```go
/**
Expand Down Expand Up @@ -612,7 +612,7 @@ func traverse(node *TreeNode, result *[][]int, currPath *[]int, targetSum int) {

## javascript

0112.路径总和
### 0112.路径总和

**递归**
```javascript
Expand Down Expand Up @@ -673,7 +673,7 @@ let hasPathSum = function(root, targetSum) {
};
```

0113.路径总和-ii
### 0113.路径总和-ii

**递归**
```javascript
Expand Down Expand Up @@ -768,7 +768,7 @@ let pathSum = function(root, targetSum) {

## TypeScript

> 0112.路径总和
### 0112.路径总和

**递归法:**

Expand Down Expand Up @@ -850,7 +850,7 @@ function hasPathSum(root: TreeNode | null, targetSum: number): boolean {
};
```

> 0112.路径总和 ii
### 0112.路径总和 ii

**递归法:**

Expand Down Expand Up @@ -888,7 +888,7 @@ function pathSum(root: TreeNode | null, targetSum: number): number[][] {

## Swift

0112.路径总和
### 0112.路径总和

**递归**

Expand Down Expand Up @@ -955,7 +955,7 @@ func hasPathSum(_ root: TreeNode?, _ targetSum: Int) -> Bool {
}
```

0113.路径总和 II
### 0113.路径总和 II

**递归**

Expand Down Expand Up @@ -1126,7 +1126,90 @@ int** pathSum(struct TreeNode* root, int targetSum, int* returnSize, int** retur
}
```

## Scala

### 0112.路径总和

**递归:**
```scala
object Solution {
def hasPathSum(root: TreeNode, targetSum: Int): Boolean = {
if(root == null) return false
var res = false

def traversal(curNode: TreeNode, sum: Int): Unit = {
if (res) return // 如果直接标记为true了,就没有往下递归的必要了
if (curNode.left == null && curNode.right == null && sum == targetSum) {
res = true
return
}
// 往下递归
if (curNode.left != null) traversal(curNode.left, sum + curNode.left.value)
if (curNode.right != null) traversal(curNode.right, sum + curNode.right.value)
}

traversal(root, root.value)
res // return关键字可以省略
}
}
```

**迭代:**
```scala
object Solution {
import scala.collection.mutable
def hasPathSum(root: TreeNode, targetSum: Int): Boolean = {
if (root == null) return false
val stack = mutable.Stack[(TreeNode, Int)]()
stack.push((root, root.value)) // 将根节点元素放入stack
while (!stack.isEmpty) {
val curNode = stack.pop() // 取出栈顶元素
// 如果遇到叶子节点,看当前的值是否等于targetSum,等于则返回true
if (curNode._1.left == null && curNode._1.right == null && curNode._2 == targetSum) {
return true
}
if (curNode._1.right != null) stack.push((curNode._1.right, curNode._2 + curNode._1.right.value))
if (curNode._1.left != null) stack.push((curNode._1.left, curNode._2 + curNode._1.left.value))
}
false //如果没有返回true,即可返回false,return关键字可以省略
}
}
```

### 0113.路径总和 II

**递归:**
```scala
object Solution {
import scala.collection.mutable.ListBuffer
def pathSum(root: TreeNode, targetSum: Int): List[List[Int]] = {
val res = ListBuffer[List[Int]]()
if (root == null) return res.toList
val path = ListBuffer[Int]();

def traversal(cur: TreeNode, count: Int): Unit = {
if (cur.left == null && cur.right == null && count == 0) {
res.append(path.toList)
return
}
if (cur.left != null) {
path.append(cur.left.value)
traversal(cur.left, count - cur.left.value)
path.remove(path.size - 1)
}
if (cur.right != null) {
path.append(cur.right.value)
traversal(cur.right, count - cur.right.value)
path.remove(path.size - 1)
}
}

path.append(root.value)
traversal(root, targetSum - root.value)
res.toList
}
}
```

-----------------------
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

AltStyle によって変換されたページ (->オリジナル) /