zoukankan      html  css  js  c++  java
  • 257. 二叉树的所有路径-leetcode

    257. 二叉树的所有路径-leetcode

    257. 二叉树的所有路径-leetcode

    Table of Contents

    2 代码

    /**
     * Definition for a binary tree node.
     * class TreeNode {
     *     public $val = null;
     *     public $left = null;
     *     public $right = null;
     *     function __construct($value) { $this->val = $value; }
     * }
     */
    class Solution {
        private $ret = [];
    
        /**
         * @param TreeNode $root
         * @return String[]
         */
        function binaryTreePaths($root) {
        $this->ret = [];
    
        if (empty($root)) {
            return $this->ret;
        }
        $path = $root->val;
        $this->dfs($root, $path, 1);
    
        return $this->ret;
        }
    
        function dfs($root, $path, $isRoot = 0) {
        if (! $isRoot) {
            $path = $path."->".$root->val;
        }
        if (empty($root->left) && empty($root->right)) {
            $this->ret[] = strval($path);
        } 
        if ($root->left) {
            $this->dfs($root->left, $path);
        }
        if ($root->right) {
            $this->dfs($root->right, $path);
        }
        }
    }
    

    3 思路

    深度优先遍历,或者广度优先遍历都可以

    我这里加了一个函数的变量 isRoot,有点冗余,可以通过优化去掉

    ===

    作者: 吴丹阳 https://www.cnblogs.com/wudanyang

    更新时间: 2020-09-01 Tue 13:35

    Emacs 27.1 (Org mode 9.3.7)

    ===

    天行健,君子以自强不息。

    地势坤,君子以厚德载物。

    ===

  • 相关阅读:
    查看windows下指定的端口是否开放
    网易云音乐评论爬虫:爬取歌曲的全部评论
    用 Python 玩转 GitHub 的贡献板
    用python实现linux口令破解
    Python 音频数据扩充的技巧
    教你使用python+Opencv完成人脸解锁
    opencv+Python特征检测及K-最近邻匹配
    opencv+python 统计及绘制直方图
    学会用这个工具做分析,1年积累3年工作经验
    15分钟,教你用Python爬网站数据,并用BI可视化分析!
  • 原文地址:https://www.cnblogs.com/wudanyang/p/13595701.html
Copyright © 2011-2022 走看看