Erlo

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

2024-08-29 22:29:17 发布   69 浏览  
页面报错/反馈
收藏 点赞

题目描述

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

解题思路

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

代码实例

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 

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认