当前位置:网站首页>Leetcode exercise - 113 Path sum II
Leetcode exercise - 113 Path sum II
2022-07-07 10:11:00 【SK_ Jaco】
1. Title Description
113. The sum of the paths II
Give you the root node of the binary tree root And an integer target and targetSum , Find out all From the root node to the leaf node The path sum is equal to the given target sum .
Leaf node A node without children .
Example 1:
Input :root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
Output :[[5,4,11,2],[5,8,4,5]]
Example 2:
Input :root = [1,2,3], targetSum = 5
Output :[]
Example 3:
Input :root = [1,2], targetSum = 0
Output :[]
2. Problem solving ideas and codes
2.1 Their thinking
This problem is to find the path from the root node to the upper sum of the leaf node as the target , You can use preorder traversal for processing . When the node is not a leaf node , Put the current node into the path list , And the target value minus the current node value ; If the current node is a leaf node , You need to judge target Is it 0, If it is 0, Then put the current path into the result list ; If not 0, Then return to . After processing the left and right nodes, you need to delete the current node from the path list . Take the topic as an example 1 As an example :
First, traverse the binary tree downward from the root node , Put the current node into the path list , meanwhile target Subtract the current node value .
When traversing the leaf node , Judge target Is it 0, Not at this time 0, Therefore, this path does not meet the requirements , Return to the previous node .
When returning, you need to remove the current node from the path list , Then continue down to 2 This node . here target be equal to 0, Meet the requirements , take [5, 4, 11, 2] This path is put into the result . Repeat the above steps and continue to traverse until the end .
2.2 Code
class Solution {
List<List<Integer>> ans = new ArrayList<>();
public List<List<Integer>> pathSum(TreeNode root, int target) {
if (root == null) {
return ans;
}
process(root, new ArrayList<>(), target);
return ans;
}
public void process(TreeNode root, List<Integer> tmp, int target) {
if (root == null) {
return;
}
tmp.add(root.val);
target -= root.val;
if (root.left == null && root.right == null && target == 0){
// If the current node is a leaf node , also target be equal to 0, Put the path into the result list
ans.add(new ArrayList<>(tmp));
}
process(root.left, tmp, target);
process(root.right, tmp, target);
// After processing the left and right nodes, remove the current node from the path list
tmp.remove(tmp.size() - 1);
}
}
2.3 test result
Pass the test
3. summary
- Use preorder traversal to solve
- Each node needs to move the current node out of the path list after processing the left and right nodes
边栏推荐
- Pit encountered by vs2015 under win7 (successful)
- Analyze Android event distribution mechanism according to popular interview questions (II) -- event conflict analysis and handling
- 柏拉图和他的三个弟子的故事:如何寻找幸福?如何寻找理想伴侣?
- ORM -- database addition, deletion, modification and query operation logic
- STM32基础知识—内存映射
- Using keras in tensorflow to build convolutional neural network
- ORM--逻辑关系与&或;排序操作,更新记录操作,删除记录操作
- 官媒关注!国内数字藏品平台百强榜发布,行业加速合规健康发展
- Introduction to energy Router: Architecture and functions for energy Internet
- 反卷积通俗详细解析与nn.ConvTranspose2d重要参数解释
猜你喜欢
一大波开源小抄来袭
web3.0系列之分布式存储IPFS
The Himalaya web version will pop up after each pause. It is recommended to download the client solution
ORM--逻辑关系与&或;排序操作,更新记录操作,删除记录操作
Enterprise practice | construction of banking operation and maintenance index system under complex business relations
Fiddler simulates the interface test
Bean operation domain and life cycle
Pit encountered by vs2015 under win7 (successful)
【ORM框架】
Qualifying 3
随机推荐
内存==c语言1
Parameter sniffing (1/2)
企业实战|复杂业务关系下的银行业运维指标体系建设
Hcip first day notes sorting
Why does the starting service report an error when installing MySQL? (operating system Windows)
Some test points about coupon test
Delete a record in the table in pl/sql by mistake, and the recovery method
LLVM之父Chris Lattner:為什麼我們要重建AI基礎設施軟件
ORM--分组查询,聚合查询,查询集QuerySet对象特性
【ORM框架】
Why are social portals rarely provided in real estate o2o applications?
UnityWebRequest基础使用之下载文本、图片、AB包
Applet sliding, clicking and switching simple UI
Mongodb creates an implicit database as an exercise
一文讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系
STM32基础知识—内存映射
ORM--查询类型,关联查询
Chris LATTNER, the father of llvm: why should we rebuild AI infrastructure software
一大波开源小抄来袭
Video based full link Intelligent Cloud? This article explains in detail what Alibaba cloud video cloud "intelligent media production" is