二叉树
Aylwang
这个作者很懒,什么都没留下…
展开
-
剑指offer 33. 判断数组是否为某二叉树的后序遍历
题目描述剑指offer 33输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。示例 1:输入: [1,6,3,2,5]输出: false示例 2:输入: [1,3,2,6,5]输出: true题目分析这道题主要根据二叉搜索树的规则,左子树 < 右子树 < 根节点根据递归分治的思想。//根据二叉搜索树的大小规则,最后一个为根节点,遍历数组,比根节点小的那段是左子树的,比根节原创 2021-07-18 22:10:30 · 152 阅读 · 0 评论 -
剑指offer 32-3 按照之字形打印二叉树
题目描述剑指offer 32-3请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。题目分析在层次遍历的基础上,对每层的列表level进行处理,如果是奇数层(第一层的索引为1)顺序,偶数层反序;列表反序的内置函数为:Collections.reverse(list);与数组反序的很像:Arrays.sort(arr);/** * Definition for a binary tree no原创 2021-07-16 22:26:31 · 98 阅读 · 0 评论 -
剑指offer 32-1从上到下打印树-层次遍历
题目描述从上到下,从左到右遍历树。层次遍历剑指offer 32-1题目分析用队列,Queue是接口,其实现类是LinkedList;将结果添加到列表忠,但是最后需要转换为数组;需要考虑root为空的特殊情况。/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * Tree原创 2021-07-15 21:28:52 · 102 阅读 · 0 评论 -
树的基础知识1-树的遍历+
树节点的定义 Definition for a binary tree node. public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode() {} TreeNode(int val) { this.val = val; } TreeNode(int val, TreeNode left, TreeNode right) {原创 2021-02-01 11:18:04 · 178 阅读 · 0 评论