算法题

您所在的位置:网站首页 二叉树按层遍历算法 算法题

算法题

2024-07-13 13:58| 来源: 网络整理| 查看: 265

一、题目分析

题目:二叉树按层遍历并收集节点 遍历二叉树的节点并将每一层的节点收集起来。

定义一个大链表,泛型还是链表,用来存放每一层的节点。 定义一个工具queue,将头节点head放入queue,然后弹出queue存放到每一层的链表中,如果它的左右节点不为空,也存放到queue中去,这样queue中存放的就是每一次的节点,(将头节点放入queue,弹出元素到新链表,再放入左右节点,再弹出到新链表,依次类推收集到每一层的节点链表)

二、代码实现 package com.lsh.day08; import java.util.LinkedList; /** * @author :LiuShihao * @date :Created in 2022/2/10 1:44 下午 * @desc :算法题目: 二叉树按层遍历并收集节点 * BinaryTreeLevelOrderTraversal */ public class Code06_BinaryTreeLevelOrderTraversal { public static class TreeNode { public int val; public TreeNode left; public TreeNode right; TreeNode(int val) { this.val = val; } } /** * * @param root * @return */ public LinkedList levelOrderBottom(TreeNode root){ LinkedList answer = new LinkedList(); if (root == null){ return answer; } LinkedList queue = new LinkedList(); //新建LinkedList 将头节点放入 queue.add(root); //如果queue 链表不为空 while (!queue.isEmpty()){ int size = queue.size(); LinkedList curAns = new LinkedList(); for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3