Leetcode 257. 二叉树的所有路径 解题思路及C++实现
解题思路:
使用深度优先搜索(DFS),深度优先搜索的终止条件是:当前节点root为叶子节点,即:!root->left && !root->right 为真,则找到了一条路径。
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:vector<string> binaryTreePaths(TreeNode* root){if(!root) return {};vector<string> res;dfs(res, root, to_string(root->val));return res;}void dfs(vector<string>& res, TreeNode* root, string tmp){if(!root->left && !root->right){res.push_back(tmp);return;}if(root->left)dfs(res, root->left, tmp + "->" + to_string(root->left->val));if(root->right)dfs(res, root->right, tmp + "->" + to_string(root->right->val));}
};
Leetcode 257. 二叉树的所有路径 解题思路及C++实现相关推荐
- LeetCode —— 257. 二叉树的所有路径(Python)
给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: -------- 解题思路: (1)用变量string记录从根结点到当前结点经过的结点路径. (2) ...
- Leetcode 102. 二叉树的层次遍历 解题思路及C++实现
解题思路: 使用队列来存储每一层的节点,因为输出的vector中,每一层是一个数组,所以在循环内,需要另外一个队列,总共使用两个队列. 没获取一层的节点,就更新第一个队列a,将队列b直接赋给a. /* ...
- Leetcode 199. 二叉树的右视图 解题思路及C++实现
解题思路: 使用层序遍历,得到每一层的最后边的节点,然后push_back到结果容器中. 通过使用q.size()函数,只需要一个队列即可实现层序遍历. /*** Definition for a b ...
- Leetcode 114. 二叉树展开为链表 解题思路及C++实现
解题思路: 使用递归的方法.根结点的左子树中,最右边的节点是左子树成为链表后的最后一个节点,找到这个节点,然后把这个节点的右节点指向根结点的右子树,同时,将根结点右子节点指向其左子节点,根结点的左子节 ...
- Leetcode 144. 二叉树的前序遍历 解题思路及C++实现
解题思路: 这道题目的解题思路与中序遍历一模一样,区别只在于输出结果放在push进栈之前. 程序的大循环是遍历整个树,所以循环停止条件是:栈为空,且当前访问节点root为NULL,这时说明所有的跟节点 ...
- LeetCode 257. 二叉树的所有路径(DFS)
文章目录 1. 题目 2. DFS解题 1. 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例:输入:1/ \ 2 3\5输出: ["1 ...
- Leetcode 257. 二叉树的所有路径
Time: 2019-08-12 题目描述 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1- ...
- 57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)
给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [1,2,3,null,5] 输出:[" ...
- LeetCode 257. 二叉树的所有路径 思考分析
目录 题目 思路一:深度递归 思路二:广度迭代 关于回溯 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 输出: ["1-& ...
最新文章
- python零基础实例-零基础学习Python开发练习100题实例(1)
- java和python的比较-java 和 python的一些对比
- My favorite books
- 实战—用户价值模型搭建
- sql server中创建数据库和表的语法
- java正则表达式提取字符串中的数字
- 登和平视显示无法连接服务器,提醒信息的推送方法和装置、平视显示器HUD及服务器...
- HTML+CSS+JS实现 ❤️透明等离子球ui特效❤️
- 餐饮外卖平台小程序 v1.0.1
- [4G5G专题-34]:物理层-浅谈m序列的原理以及在NR PSS中的应用
- SQL零基础入门学习(一)
- Python用MCMC马尔科夫链蒙特卡洛、拒绝抽样和Metropolis-Hastings采样算法
- Appium基础学习之 | setting、unlock与unicode ime
- 微信中点击链接或者扫描二维码直接跳转外部浏览器打开指定网页下载
- HashMap无序?TreeMap有序?
- [lammps教程] 复合材料/层合板结构建模
- 2017双基计算机考试,2017年大连双基考试试卷答案.doc
- 记一次北航软件学院复试
- Atom编辑器活跃用户突破一百万
- Python+OpenCV3.3图像处理视频教程 贾志刚 代码笔记1
热门文章
- louvian算法 缺点 优化_机器学习中的优化算法(1)-优化算法重要性,SGD,Momentum(附Python示例)...
- http方法_像本地方法一样调用http服务,feign框架springboot项目实践
- windows服务器指定IP地址才能进行远程访问桌面设置方法
- Atcoder Educational DP Contest 题解
- js this pointer 指针
- bzoj 2436: [Noi2011]Noi嘉年华
- hibernate 管理 Session(单独使用session,非spring)
- Oracle递归操作
- Flex/Silverlight的技术比较
- git远程仓库和分支