链接:LeetCode257
过程:我一眼就看出(你不是人 )是树的遍历。
思路:树的遍历,dfs或者bfs
代码:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
List<String> ans=new ArrayList<>();
StringBuilder sb=new StringBuilder();
public List<String> binaryTreePaths(TreeNode root) {
if(root!=null)dfs(root);
return ans;
}
private void dfs(TreeNode node){
int len=sb.length();
sb.append(node.val).append("->");
if(node.left==null&&node.right==null){
ans.add(sb.toString().substring(0,sb.length()-2));
}
if(node.left!=null)dfs(node.left);
if(node.right!=null)dfs(node.right);
sb.delete(len,sb.length());
}
}