mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 11:34:46 +08:00
Merge pull request #2341 from eeee0717/master
Update 0257.二叉树的所有路径,添加C#递归
This commit is contained in:
@ -1511,6 +1511,17 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
### C#
|
||||||
|
```C#
|
||||||
|
// 0112.路径总和
|
||||||
|
// 递归
|
||||||
|
public bool HasPathSum(TreeNode root, int targetSum)
|
||||||
|
{
|
||||||
|
if (root == null) return false;
|
||||||
|
if (root.left == null && root.right == null && targetSum == root.val) return true;
|
||||||
|
return HasPathSum(root.left, targetSum - root.val) || HasPathSum(root.right, targetSum - root.val);
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
@ -900,6 +900,43 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
### C#
|
||||||
|
```C#
|
||||||
|
public IList<string> BinaryTreePaths(TreeNode root)
|
||||||
|
{
|
||||||
|
List<int> path = new();
|
||||||
|
List<string> res = new();
|
||||||
|
if (root == null) return res;
|
||||||
|
Traversal(root, path, res);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
public void Traversal(TreeNode node, List<int> path, List<string> res)
|
||||||
|
{
|
||||||
|
path.Add(node.val);
|
||||||
|
if (node.left == null && node.right == null)
|
||||||
|
{
|
||||||
|
string sPath = "";
|
||||||
|
for (int i = 0; i < path.Count - 1; i++)
|
||||||
|
{
|
||||||
|
sPath += path[i].ToString();
|
||||||
|
sPath += "->";
|
||||||
|
}
|
||||||
|
sPath += path[path.Count - 1].ToString();
|
||||||
|
res.Add(sPath);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (node.left != null)
|
||||||
|
{
|
||||||
|
Traversal(node.left, path, res);
|
||||||
|
path.RemoveAt(path.Count-1);
|
||||||
|
}
|
||||||
|
if (node.right != null)
|
||||||
|
{
|
||||||
|
Traversal(node.right, path, res);
|
||||||
|
path.RemoveAt(path.Count-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
|
@ -651,6 +651,23 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
### C#
|
||||||
|
```C#
|
||||||
|
// 递归
|
||||||
|
public int SumOfLeftLeaves(TreeNode root)
|
||||||
|
{
|
||||||
|
if (root == null) return 0;
|
||||||
|
|
||||||
|
int leftValue = SumOfLeftLeaves(root.left);
|
||||||
|
if (root.left != null && root.left.left == null && root.left.right == null)
|
||||||
|
{
|
||||||
|
leftValue += root.left.val;
|
||||||
|
}
|
||||||
|
int rightValue = SumOfLeftLeaves(root.right);
|
||||||
|
return leftValue + rightValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
|
@ -684,6 +684,38 @@ impl Solution {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
### C#
|
||||||
|
```C#
|
||||||
|
//递归
|
||||||
|
int maxDepth = -1;
|
||||||
|
int res = 0;
|
||||||
|
public int FindBottomLeftValue(TreeNode root)
|
||||||
|
{
|
||||||
|
Traversal(root, 0);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
public void Traversal(TreeNode root, int depth)
|
||||||
|
{
|
||||||
|
if (root.left == null && root.right == null)
|
||||||
|
{
|
||||||
|
if (depth > maxDepth)
|
||||||
|
{
|
||||||
|
maxDepth = depth;
|
||||||
|
res = root.val;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (root.left != null)
|
||||||
|
{
|
||||||
|
Traversal(root.left, depth + 1);
|
||||||
|
}
|
||||||
|
if (root.right != null)
|
||||||
|
{
|
||||||
|
Traversal(root.right, depth + 1);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
|
||||||
|
Reference in New Issue
Block a user