Java二叉树前序遍历[通俗易懂]

Java二叉树前序遍历[通俗易懂]给你二叉树的根节点root,返回它节点值的前序遍历。示例1:输入:root=[1,null,2,3]输出:[1,2,3]示例2:输入:root=[]输出:[]示例3:输入:root=[1]输出:[1]示例4:输入:root=[1,2]输出:[1,2]示例5:输入:root=[1,null,2]输出:[1,2]提示:树中节点数目在范围[0,100]内-100<=Node.val<=100进阶:递归算法很简单

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

示例 1:

输入:root = [1,null,2,3]
输出:[1,2,3]

示例 2:

输入:root = []
输出:[]

示例 3:

输入:root = [1]
输出:[1]

示例 4:

输入:root = [1,2]
输出:[1,2]

示例 5:

输入:root = [1,null,2]
输出:[1,2]

提示:

树中节点数目在范围 [0, 100] 内
-100 <= Node.val <= 100

进阶:递归算法很简单,你可以通过迭代算法完成吗?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */
class Solution { 
   
    List<Integer> retList = new ArrayList<Integer>();
    public List<Integer> preorderTraversal(TreeNode root) { 
   
        if(root == null){ 
   
            return retList;
        }
        retList.add(root.val);
        preorderTraversal(root.left);
        preorderTraversal(root.right);
        return retList;
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196618.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DatagramPacket和DatagramSocket[通俗易懂]

    DatagramPacket和DatagramSocket[通俗易懂]DatagramPacket在码头发送和接收货物时都需要使用集装箱来装载货物,UDP通信也是一样,发送和接收的数据也需要使用“集装箱”进行打包,为此JDK中提供了一个DatagramPacket类,该类的实例对象就相当于一个集装箱,用于封装UDP通信中发送或者接收的数据。在创建发送端和接收端的DatagramPacket对象时,使用的构造方法有所不同,接收端的构造方法只需要接收…

    2022年4月28日
    92
  • Python代码缩进的使用方法_python退格快捷键

    Python代码缩进的使用方法_python退格快捷键和其它程序设计语言(如Java、C语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号(:)来区分代码块之间的层次。在Python中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。注意,Python中实现对代码的缩进,可以使用空格或者Tab键实现。但无论是手动敲空格,还是…

    2022年8月31日
    2
  • Pycharm使用anaconda环境 (原环境 base)

    Pycharm使用anaconda环境 (原环境 base)Pycharm 使用 anaconda 环境 原环境 base 注意本教程是针对使用 anaconda 的新手 添加的是 anaconda 自带的 base 环境 首先打开或者新建一个 Python 项目 File gt Settings gt Project gt PythonInterp 然后在右边 PythonInterp 看一下又没有 anaconde 的选项 如果有 就直接选中 然后就可以了 如果没有那就继续看下去 如果没有默认读取 anaconda 的选项 那

    2025年9月19日
    2
  • Django抛错不存在(DoesNotExist)

    fromdjango.core.exceptionsimportObjectDoesNotExisttry:disabledusers.objects.get(sAMAccountName=’liu’)exceptObjectDoesNotExist:print’a’exceptmodelname.DoesNotExist:转载…

    2022年4月6日
    110
  • DS哈希查找—二次探测再散列

    DS哈希查找—二次探测再散列题目描述定义哈希函数为H(key)=key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。输入测试次数t每组测试数据格式如下:哈希表长m、关键字个数nn个关键字查找次数kk个待查关键字输出对每组测试数据,输出以下信息:构造的哈希表信息,数组中没有关键字的位置输出NULL对k个待查关键字,分别输出:…

    2022年5月15日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号