2023年6月22日发(作者:)
2021-09-14华为OD⾯试题华为OD⾯试题⼿撕代码:⼆叉树分为⼴度遍历和深度遍历,在技术⼀⾯时遇到⼀个⼴度遍历的问题,题⽬如下:给定义⼀个⼆叉树,树的结构如下:需要遍历每⼀层节点的值,并输出如下结果:[ [5],[3, 7],[2, 4, 6, 8],[10, 11]]以前做的最多的都是深度遍历法,⼴度遍历有点懵懵的,后来想了下,就这样做了,什么也不说了直接上代码:1. 节点定义//节点的定义 public static class TreeNode { private int value; private TreeNode left = null; private TreeNode right = null; public TreeNode(int value, TreeNode left, TreeNode right) { = value; = left; = right; } public TreeNode(int value){ = value; } public void setLeftNode(TreeNode node) { = node; } public void setRightNode(TreeNode node){ = node; } public TreeNode getLeftNode(){ return ; } public TreeNode getRightNode(){ return ; } public int getData(){ return ; } }2. 创建树public static TreeNode createTree() { TreeNode firstLeft = new TreeNode(3); TreeNode firstRighe = new TreeNode(7); TreeNode root = new TreeNode(5, firstLeft, firstRighe); TreeNode leftSecondL = new TreeNode(2); TreeNode rightSecondL = new TreeNode(4); TreeNode leftSecondR = new TreeNode(6); TreeNode rightSecondR = new TreeNode(8); tNode(leftSecondL); htNode(rightSecondL); tNode(leftSecondR); htNode(rightSecondR); TreeNode leftThirdL = new TreeNode(10); TreeNode rightThirdL = new TreeNode(11); tNode(leftThirdL); htNode(rightThirdL); return root; }3、返回层级listpublic static List> treeList = new ArrayList<>();public static void wideSerch(TreeNode root){ List
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687384871a6085.html
评论列表(0条)