欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java String函数传递

程序员文章站 2022-07-15 17:06:19
...

打印二叉树所有路径,用String可以不用回溯删当前遍历过的节点,因为每次传递的是字符串引用的副本,且拼接字符串会将副本指向新的对象,因此不影响原本的字符串。StringBuilder等同理,只要确保没有创建新对象并将其分配给参数变量

在Java中字符串是通过引用传递的?

java String函数传递

class Solution {
    public void construct_paths(TreeNode root, String path, LinkedList<String> paths) {
        if (root != null) {
            path += Integer.toString(root.val);
            if ((root.left == null) && (root.right == null))  // 当前节点是叶子节点
                paths.add(path);  // 把路径加入到答案中
            else {
                path += "->";  // 当前节点不是叶子节点,继续递归遍历
                construct_paths(root.left, path, paths);
                construct_paths(root.right, path, paths);
            }
        }
    }

    public List<String> binaryTreePaths(TreeNode root) {
        LinkedList<String> paths = new LinkedList();
        construct_paths(root, "", paths);
        return paths;
    }
}
相关标签: 语法