257. Binary Tree Paths
Posted markleebyr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了257. Binary Tree Paths相关的知识,希望对你有一定的参考价值。
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> ans = new ArrayList<>();
if (root != null)
searchBT(root, "", ans);
return ans;
}
public void searchBT(TreeNode root, String path, List ans) {
if (root.left == null && root.right == null)
ans.add(path + root.val);
if (root.left != null)
searchBT(root.left, path + root.val + "->", ans);
if (root.right != null)
searchBT(root.right, path + root.val + "->", ans);
}
}
Solution2: //BFS
class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> list = new ArrayList<>();
Stack<TreeNode> sNode=new Stack<>();
Stack<String> sStr=new Stack<>();
if(root==null)
return list;
sNode.push(root);
sStr.push("");
while(!sNode.isEmpty()) {
TreeNode curNode = sNode.pop();
String curStr = sStr.pop();
if(curNode.left == null && curNode.right == null)
list.add(curStr + curNode.val);
if(curNode.left != null) {
sNode.push(curNode.left);
sStr.push(curStr + curNode.val + "->");
}
if(curNode.right != null) {
sNode.push(curNode.right);
sStr.push(curStr + curNode.val + "->");
}
}
return list;
}
}
以上是关于257. Binary Tree Paths的主要内容,如果未能解决你的问题,请参考以下文章