Conflicts:
	src/main/java/leetcode/editor/cn/doc/all.json
	src/main/java/leetcode/editor/cn/doc/content/PathSumIii.md
	src/main/java/leetcode/editor/cn/doc/translation.json
This commit is contained in:
huangge1199 2021-10-08 15:24:04 +08:00
commit 7745708da1
5 changed files with 225 additions and 0 deletions

View File

@ -0,0 +1,86 @@
//给你一份旅游线路图该线路图中的旅行线路用数组 paths 表示其中 paths[i] = [cityAi, cityBi] 表示该线路将会从
//cityAi 直接前往 cityBi 请你找出这次旅行的终点站即没有任何可以通往其他城市的线路的城市
//
// 题目数据保证线路图会形成一条不存在循环的线路因此恰有一个旅行终点站
//
//
//
// 示例 1
//
//
//输入paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]
//输出"Sao Paulo"
//解释 "London" 出发最后抵达终点站 "Sao Paulo" 本次旅行的路线是 "London" -> "New York" ->
//"Lima" -> "Sao Paulo"
//
//
// 示例 2
//
//
//输入paths = [["B","C"],["D","B"],["C","A"]]
//输出"A"
//解释所有可能的线路是
//"D" -> "B" -> "C" -> "A". 
//"B" -> "C" -> "A". 
//"C" -> "A". 
//"A". 
//显然旅行终点站是 "A"
//
//
// 示例 3
//
//
//输入paths = [["A","Z"]]
//输出"Z"
//
//
//
//
// 提示
//
//
// 1 <= paths.length <= 100
// paths[i].length == 2
// 1 <= cityAi.length, cityBi.length <= 10
// cityAi != cityBi
// 所有字符串均由大小写英文字母和空格字符组成
//
// Related Topics 哈希表 字符串 👍 86 👎 0
package leetcode.editor.cn;
import java.util.ArrayList;
import java.util.List;
//1436:旅行终点站
class DestinationCity {
public static void main(String[] args) {
//测试代码
Solution solution = new DestinationCity().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public String destCity(List<List<String>> paths) {
List<String> result = new ArrayList<>();
List<String> use = new ArrayList<>();
for (List<String> path : paths) {
if (!use.contains(path.get(1))) {
result.add(path.get(1));
}else {
use.remove(path.get(1));
}
if (!result.contains(path.get(0))) {
use.add(path.get(0));
} else {
result.remove(path.get(0));
}
}
return result.get(0);
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,91 @@
//给定一个二叉树的根节点 root 和一个整数 targetSum 求该二叉树里节点值之和等于 targetSum 路径 的数目
//
// 路径 不需要从根节点开始也不需要在叶子节点结束但是路径方向必须是向下的只能从父节点到子节点
//
//
//
// 示例 1
//
//
//
//
//输入root = [10,5,-3,3,2,null,11,3,-2,null,1], targetSum = 8
//输出3
//解释和等于 8 的路径有 3 如图所示
//
//
// 示例 2
//
//
//输入root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
//输出3
//
//
//
//
// 提示:
//
//
// 二叉树的节点个数的范围是 [0,1000]
// -10 <= Node.val <= 10
// -1000 <= targetSum <= 1000
//
// Related Topics 深度优先搜索 二叉树 👍 1091 👎 0
package leetcode.editor.cn;
import com.code.leet.entiy.TreeNode;
//437:路径总和 III
class PathSumIii {
public static void main(String[] args) {
//测试代码
Solution solution = new PathSumIii().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public int pathSum(TreeNode root, int targetSum) {
if (root == null) {
return 0;
}
int ret = rootSum(root, targetSum);
ret += pathSum(root.left, targetSum);
ret += pathSum(root.right, targetSum);
return ret;
}
public int rootSum(TreeNode root, int targetSum) {
int ret = 0;
if (root == null) {
return 0;
}
int val = root.val;
if (val == targetSum) {
ret++;
}
ret += rootSum(root.left, targetSum - val);
ret += rootSum(root.right, targetSum - val);
return ret;
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,46 @@
<p>给你一份旅游线路图,该线路图中的旅行线路用数组 <code>paths</code> 表示,其中 <code>paths[i] = [cityA<sub>i</sub>, cityB<sub>i</sub>]</code> 表示该线路将会从 <code>cityA<sub>i</sub></code> 直接前往 <code>cityB<sub>i</sub></code> 。请你找出这次旅行的终点站,即没有任何可以通往其他城市的线路的城市<em></em></p>
<p>题目数据保证线路图会形成一条不存在循环的线路,因此恰有一个旅行终点站。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>paths = [["London","New York"],["New York","Lima"],["Lima","Sao Paulo"]]
<strong>输出:</strong>"Sao Paulo"
<strong>解释:</strong>从 "London" 出发,最后抵达终点站 "Sao Paulo" 。本次旅行的路线是 "London" -&gt; "New York" -&gt; "Lima" -&gt; "Sao Paulo" 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>paths = [["B","C"],["D","B"],["C","A"]]
<strong>输出:</strong>"A"
<strong>解释:</strong>所有可能的线路是:
"D" -&gt; "B" -&gt; "C" -&gt; "A".&nbsp;
"B" -&gt; "C" -&gt; "A".&nbsp;
"C" -&gt; "A".&nbsp;
"A".&nbsp;
显然,旅行终点站是 "A" 。
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>paths = [["A","Z"]]
<strong>输出:</strong>"Z"
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= paths.length &lt;= 100</code></li>
<li><code>paths[i].length == 2</code></li>
<li><code>1 &lt;=&nbsp;cityA<sub>i</sub>.length,&nbsp;cityB<sub>i</sub>.length &lt;= 10</code></li>
<li><code>cityA<sub>i&nbsp;</sub>!=&nbsp;cityB<sub>i</sub></code></li>
<li>所有字符串均由大小写英文字母和空格字符组成。</li>
</ul>
<div><div>Related Topics</div><div><li>哈希表</li><li>字符串</li></div></div><br><div><li>👍 86</li><li>👎 0</li></div>

File diff suppressed because one or more lines are too long