博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Algorithms—102.Binary Tree Level Order Traversal
阅读量:2457 次
发布时间:2019-05-11

本文共 967 字,大约阅读时间需要 3 分钟。

思路:逐层把TreeNode添加到list中然后逐层读取其val。

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {    public List
> levelOrder(TreeNode root) { List
> answerList = new ArrayList
>(); List
> list = new ArrayList
>(); if (root == null) { return list; } List
initList = new ArrayList
(); initList.add(root); answerList.add(initList); for (int i = 0; i < answerList.size(); i++) { List
l = new ArrayList
(); List
newList = new ArrayList
(); for (int j = 0; j < answerList.get(i).size(); j++) { TreeNode tree = answerList.get(i).get(j); l.add(answerList.get(i).get(j).val); if (tree.left != null) { newList.add(tree.left); } if (tree.right != null) { newList.add(tree.right); } } list.add(l); if (newList.size() != 0) { answerList.add(newList); } } return list; }}

耗时:328ms,中游

你可能感兴趣的文章
Java IdentityHashMap clone()方法与示例
查看>>
java timezone_Java TimeZone hasSameRules()方法与示例
查看>>
PHP Superglobals能力倾向问题与解答
查看>>
密码学,把字母转换为数字_密码学转换技术
查看>>
JavaScript中的数据单元转换工具
查看>>
Java BigInteger类| 带示例的testBit()方法
查看>>
duration java_Java Duration类| plusHours()方法与示例
查看>>
非确定性算法_确定性和非确定性算法
查看>>
stl中map函数_带有示例的C ++ STL中的map :: size()函数
查看>>
Java LinkedHashMap entrySet()方法与示例
查看>>
Java LocalDate类| plusWeeks()方法与示例
查看>>
Java FilterInputStream close()方法与示例
查看>>
Java RandomAccessFile readChar()方法及示例
查看>>
python xor_Python XOR和数组| 竞争编码问题
查看>>
mcq 队列_MCQ | 软件工程基础知识/简介(1)
查看>>
程序员简历工作模式_简历的完整形式是什么?
查看>>
java中null是常量吗_C_NULL Julia中的常量
查看>>
python中divmod_divmod()函数以及Python中的示例
查看>>
hypot函数_hypot()函数与C ++中的示例
查看>>
c++中atan2函数_atan2()函数以及C ++中的示例
查看>>