leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
https://leetcode.com/problems/path-sum/
https://leetcode.com/problems/path-sum-ii/
題解
簡單的遍歷二叉樹,不解釋,直接上代碼
112. Path Sum
/*** 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 boolean hasPathSum(TreeNode root, int targetSum) {return dfs(root, 0, targetSum);}public boolean dfs(TreeNode node, int sum, int target) {if (node == null) return false;if (node.left == null && node.right == null) return sum + node.val == target;return dfs(node.left, sum + node.val, target) || dfs(node.right, sum + node.val, target);} }113. Path Sum II
/*** 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 {List<List<Integer>> res;public List<List<Integer>> pathSum(TreeNode root, int targetSum) {res = new ArrayList<>();dfs(root, 0, targetSum,new ArrayList<>());return res;}public void dfs(TreeNode node, int sum, int target, List<Integer> list) {if (node == null) return;List<Integer> newList = new ArrayList<>(list);newList.add(node.val);if (node.left == null && node.right == null && sum + node.val == target) { // 是葉子res.add(newList);}dfs(node.left, sum + node.val, target, newList);dfs(node.right, sum + node.val, target, newList);} }總結(jié)
以上是生活随笔為你收集整理的leetcode 112. Path Sum, 113. Path Sum II | 112,113. 路径总和 I, II(Java)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 417. Pacifi
- 下一篇: leetcode 421. Maximu