美文网首页
257. 二叉树的所有路径

257. 二叉树的所有路径

作者: 名字是乱打的 | 来源:发表于2025-03-12 13:15 被阅读0次

一 题目:

二 思路:

向所有可能为叶子节点的路径出发(向有孩子节点的方向走,直到到最后一个)

三 代码:

 public static List<String> binaryTreePaths(TreeNode root) {
        Set<String> res=new HashSet<>();
        if (root==null){
            return new ArrayList<>(res);
        }else {
            searchBinPath(res,root,"");
        }
        return new ArrayList<>(res);
    }

    private static void searchBinPath(Set<String> res,TreeNode currNode, String currStr) {
        //遍历完该分支所有节点
        if (currNode.left==null && currNode.right==null){
            currStr=(currStr+currNode.val);
            res.add(currStr);
        }else {
            //只向有叶子节点的地方走
            if (currNode.left!=null) {
                //向右尝试
                searchBinPath(res,currNode.left,new String(currStr+currNode.val+"->"));
            }

             if (currNode.right!=null) {
                //向右尝试
                searchBinPath(res,currNode.right,new String(currStr+currNode.val+"->"));
            }
        }
    }

相关文章

网友评论

      本文标题:257. 二叉树的所有路径

      本文链接:https://www.haomeiwen.com/subject/bedmmjtx.html