二叉树层序遍历Java版

二叉树层序遍历Java版publicList<List<Integer>>levelOrder(TreeNoderoot){List<List<Integer>>result=newArrayList<>();if(root==null)returnresult;List<TreeNode>queue=newArrayList<>();queue.add(root);

大家好,又见面了,我是你们的朋友全栈君。

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

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

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


相关推荐

  • jira使用教程_jira 工具

    jira使用教程_jira 工具JIRA使用教程:在Windows上安装JIRA JIRA使用教程:在Linux上安装JIRA JIRA使用教程:使用文件包安装JIRA JIRA使用教程:创建项目 JIRA使用教程:创建问题 JIRA使用教程:搜索问题 JIRA使用教程:编辑项目键 JIRA使用教程:简单问题跟踪 JIRA使用教程:创建软件开发项目 JIRA使用教程:共享搜索结果 JIRA使用教程:查看项目…

    2025年8月25日
    3
  • jni 头文件_java.io.file

    jni 头文件_java.io.file1,cmd切换到应用工程目录下如示例中的D:\zxy\IDCardQualityLib2,执行javah命令,红色部分为sdk平台android.jar路径,蓝色部分为生成的jni类名 D:\zxy\IDCardQualityLib>javah-classpath bin/classes;d:\tool\adt-bundle-windows-x86-20131030\adt-b

    2022年9月2日
    5
  • 快速排序(过程图解)

     假设我们现在对“6  1  27  9  3  4  510  8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列。    3  1  25  4  …

    2022年4月5日
    240
  • CheckListBox用法详解

    CheckListBox用法详解1.添加项checkedListBox1.Items.Add(“蓝色”); checkedListBox1.Items.Add(“红色”); checkedListBox1.Items.Add(“黄色”); 2.判断第i项是否选中,选中为true,否则为falseif(checkedListBox1.GetItemChecked(i)){     return tr

    2022年6月17日
    20
  • 1、时间轮[通俗易懂]

    1、时间轮[通俗易懂]一、什么是时间轮?作为一个粗人,咱不扯什么高级的词汇,直接上图:上面是一张时间轮的示意图,可以看到,这个时间轮就像一个钟表一样,它有刻度,图中画了9个格子,每个格子表示时间精度,比如每个格子表示1s,那么转一圈就是9s,对于钟表上的秒针来说它的最小刻度是1s,秒针转一圈就是60s。时间轮上每个格子储存了一个双向链表,用于记录定时任务,当指针转到对应的格子的时候,会检查对应的任务是否到期,如果到期就会执行链条上的任务。二、为什么使用时间轮?我认为这个世界上任何事物的出现都有它的原因,只是大部分事

    2022年10月1日
    2
  • ajax最常见的几种面试题

    ajax最常见的几种面试题1,什么是ajax?请谈一下你对ajax的认识AJAX是“AsynchronousJavaScriptandXML”的缩写。他是指一种创建交互式网页应用的开发技术。ajax包含下列技术:基于web标准XHTML+CSS表示;使用dom进行动态显示及交互;使用xml和xslt进行数据交换及相关操作;使用xmlhttprequest进行异步数据查询,检索;使用Java…

    2022年8月27日
    9

发表回复

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

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