DFS:257. Binary Tree Paths
来源:互联网 发布:求暖床软件怎么样 编辑:程序博客网 时间:2024/06/14 03:09
第一个dfs题:
/** * 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) { vector<string> result; string s = ""; path(root, s, result); return result; } void path(TreeNode* root, string s, vector<string> &result) { if(root == NULL) return; s += to_string(root->val); if(root->left == NULL && root->right == NULL) { result.push_back(s); return; } if(root->left != NULL) { path(root->left, s + "->", result); } if(root->right != NULL) { path(root->right, s + "->", result); } return; }};
看别人的思路会不会清楚一点:
如果左子树为空且右子树为空,加入结果集合中。否则遍历左子树和右子树
class Solution {public: vector<string> binaryTreePaths(TreeNode* root) { vector<string> res; if (root) dfs(root, "", res); return res; } void dfs(TreeNode *root, string out, vector<string> &res) { out += to_string(root->val); if (!root->left && !root->right) res.push_back(out); else { if (root->left) dfs(root->left, out + "->", res); if (root->right) dfs(root->right, out + "->", res); } }};
阅读全文
0 0
- DFS:257. Binary Tree Paths
- 257. Binary Tree Paths(DFS)
- leetcode 257. Binary Tree Paths(DFS)
- leetcode 257. Binary Tree Paths 深度优先遍历DFS
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- 257. Binary Tree Paths
- Android通用流行框架大全
- ScrollView中Spinner问题
- Codeforces 593D-Happy Tree Party
- react用PropTypes检测类型
- 170914_算法导论学习(二)_2.2 分析算法
- DFS:257. Binary Tree Paths
- 运维自动化之ansible的安装与使用
- javamail 邮件发送
- eclipse 搭建Android开发环境 安装ADT 24.0.2
- C++友元函数访问类的私有成员
- android adb connnect 连接失败问题
- Python中的增删改查
- 广通软件携手华为,联合发布远程运维服务:开启智能运维模式
- xml 忽略.dtd文件