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)

    ===

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

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

    ===

  • 相关阅读:
    解决chrome浏览器自动填充密码
    linux top命令详解
    经纬度互换、换算成米、两点的经纬度计算两点间的距离
    js 调用声音提示
    centos7 kdump.service启动失败的解决方法
    Postman 工具模拟Ajax请求
    CentOs7 安装最新版的Git
    Nginx日志切割之Logrotate篇
    mysql让主键id重新排序
    阿里云大文件解压函数计算
  • 原文地址:https://www.cnblogs.com/wudanyang/p/13595701.html
Copyright © 2011-2022 走看看