113. 路径总和II
2021/12/25 23:07:19
本文主要是介绍113. 路径总和II,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
递归
class Solution { public List<List<Integer>> pathSum(TreeNode root, int targetSum) { List<List<Integer>> list = new LinkedList<>(); /** * 如果节点为空,返回空列表 */ if (root == null){ return list; } /** * 如果是叶子节点,且数值满足目标,就放在一个子列表,然后添加进总的列表 */ if (root.left == null && root.right == null){ if (root.val == targetSum){ List<Integer> temp = new LinkedList<>(); temp.add(0, root.val); list.add(temp); } } /** * 否则,递归遍历左右孩子,获得所有的路径可能,最后将根节点加上 */ List<List<Integer>> left = pathSum(root.left, targetSum - root.val); List<List<Integer>> right= pathSum(root.right, targetSum - root.val); for (int i = 0; i < left.size(); i++) { left.get(i).add(0, root.val); list.add(left.get(i)); } for (int i = 0; i < right.size(); i++) { right.get(i).add(0, root.val); list.add(right.get(i)); } return list; } } /** * 时间复杂度 O(n^2) * 空间复杂度 O(logn) */
https://leetcode-cn.com/problems/path-sum-ii/
这篇关于113. 路径总和II的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器