层序遍历(广度优先搜索)-102

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

题目描述

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

解题思绪

这里我们层次遍历我们必要使用到队列这个数据结构,我们依次从根节点开始遍历,我们必要使用一个变量来记载此时我们队列中元素的数量,因为如许我们才知道这一层我们必要从队列中弹出多少个元素,弹出的元素我们参加到聚集中,然后再把弹出元素的左右孩子节点依次添加到我们的队列中,固然这里我们还要判断遍历结束的条件--就是当我们这一层的所有元素都没有左右孩子节点就结束我们的遍历了
代码实例

[code]class Solution {    public List levelOrder(TreeNode root) {        List result = new ArrayList();        if (root == null) {            return result;        }        // TreeNode index=root;        Queue queue = new LinkedList();        //用来判断遍历终止的条件        int judge = 1;        queue.add(root);        while (judge != 0) {            int size = queue.size();            //用来判断遍历终止的条件            int xiao = 0;            List list = new ArrayList();            for (int i = 1; i

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表