257. 二叉树的所有路径

链接 (opens new window) 20240223090428_image.png

class Solution {

    public $result = [];
    /**
     * @param TreeNode $root
     * @return String[]
     */
    function binaryTreePaths($root) {
        $this->dfs($root,'');
        return $this->result;
    }

    function dfs($root, $path) {
        if (!$root) {
            return;
        }
        $path .= $root->val;
        if (!$root->left && !$root->right) {
            $this->result[] = $path;
            return;
        }
        $path .= '->';
        $this->dfs($root->left, $path);
        $this->dfs($root->right, $path);
    }
		
    function dfs2($root, $path) {
        if (!$root->left && !$root->right) {
            $this->result[] = $path . $root->val;
            return;
        }
        $path .= $root->val . '->';
        $this->dfs($root->left, $path );
        $this->dfs($root->right, $path);
    }


}

copy success
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39