给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
class Solution {
public:
vector<string> binaryTreePaths(TreeNode* root) {
vector<string> res;
if(!root) return res;
string tmp="";
dfs(root,tmp,res);
return res;
}
void dfs(TreeNode* root, string tmp, vector<string>&res){
if(tmp == "")
tmp = to_string(root->val);
else
tmp = tmp + "->" + to_string(root->val);
if(!root->left&&!root->right)
res.push_back(tmp);
if(root->left)
dfs(root->left,tmp,res);
if(root->right)
dfs(root->right,tmp,res);
}
};
本文介绍了一种用于寻找二叉树中所有从根节点到叶子节点路径的深度优先搜索(DFS)算法。通过递归方式,算法构建并返回所有路径字符串。此方法适用于需要获取二叉树所有路径的应用场景。
4927

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



