Leetcode 257. Binary Tree Paths
来源:互联网 发布:linux piwik安装 编辑:程序博客网 时间:2024/05/21 04:26
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1 / \2 3 \ 5
All root-to-leaf paths are:
[“1->2->5”, “1->3”]
用深度优先搜索+递归处理
/** * 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: void dfs(TreeNode* node,vector<string> & vec, string k){ if(!node->left&&!node->right){ vec.push_back(k); } if(node->left) dfs(node->left,vec,k+"->"+to_string(node->left->val)); if(node->right) dfs(node->right,vec,k+"->"+to_string(node->right->val)); } vector<string> binaryTreePaths(TreeNode* root) { vector<string> result; if(NULL==root) return result; dfs(root,result,to_string(root->val)); return result; }};
循环版本:
/** * 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> res; if(NULL==root) return res; stack<TreeNode*> node; stack<string> path; node.push(root); path.push(to_string(root->val)); while(!node.empty()){ TreeNode* curNode=node.top(); node.pop(); string curStr=path.top(); path.pop(); if(!curNode->left&&!curNode->right){ res.push_back(curStr); } if(curNode->left){ node.push(curNode->left); path.push(curStr+"->"+to_string(curNode->left->val)); } if(curNode->right){ node.push(curNode->right); path.push(curStr+"->"+to_string(curNode->right->val)); } } return res; }};
0 0
- [leetcode] 257. Binary Tree Paths
- 257. Binary Tree Paths LeetCode
- 【LeetCode】257. Binary Tree Paths
- LeetCode 257. Binary Tree Paths
- LeetCode *** 257. Binary Tree Paths
- leetcode 257. Binary Tree Paths
- LeetCode 257. Binary Tree Paths
- Leetcode 257. Binary Tree Paths
- LeetCode-257.Binary Tree Paths
- 【leetcode】257. Binary Tree Paths
- [Leetcode]257. Binary Tree Paths
- LeetCode - 257. Binary Tree Paths
- LeetCode 257. Binary Tree Paths
- [leetcode] 257. Binary Tree Paths
- LeetCode 257. Binary Tree Paths
- 257.[Leetcode]Binary Tree Paths
- LeetCode 257. Binary Tree Paths
- leetcode 257. Binary Tree Paths
- 双线性插值与双三次插值算法代码
- 颠覆三观丨程序员原来可以这么帅
- Windows数据结构(Win32_FILE_ATTRIBUTE_DATA结构 —— GetFileAttributesEx函数案例)
- IT电脑行业管理软件
- java windows 利用ffmpeg进行视频截图
- Leetcode 257. Binary Tree Paths
- Java基础
- 用Maven创建Hibernate项目(oracle)
- 改变textview字体的颜色
- IOCP 浅析
- 《关于痴者》---大学之后的学习工作
- A*算法
- 三整数排序
- Sensor传感器(二),实现摇一摇