Binary Tree Paths(Easy)

题目解析
题目给了我们一棵数,让我们遍历树并输出数的每一条路径。
思路
遍历树,我们可以使用递归,通过不断的读取数的孩子来查找路径,直到找到叶子,在一路返回值到根节点。
代码
class Solution {
public:
vector<string> binaryTreePaths(TreeNode* root) {
vector<string> load;
if(root)
findload(root,"",load);
return load;
}
void findload(TreeNode* root,string p,vector<string> &load){
if(root->left==NULL&&root->right==NULL)
load.push_back(p+to_string(root->val));
if(root->left!=NULL)
findload(root->left,p+to_string(root->val)+"->",load);
if(root->right!=NULL)
findload(root->right,p+to_string(root->val)+"->",load);
}
};
结果

小结
题目主要考察树的遍历,所以只要把树的每个地方都走一边基本没什么问题,要注意题目要求的输出格式。
二叉树路径遍历
本文解析了BinaryTreePaths问题,介绍了如何通过递归遍历树的每条路径,并按指定格式输出。重点讲解了树的遍历技巧及输出格式注意事项。
410

被折叠的 条评论
为什么被折叠?



