摘要: 一. 问题描述 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 二. 解题 阅读全文
posted @ 2019-11-09 14:41 fish大叔 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最大深度 3 。 二. 解题思路 阅读全文
posted @ 2019-11-08 10:21 fish大叔 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一、前言 今天和朋友在写代码时突然发现List<object> list=new ArrayList<object>()中,前面是通过List引用来调用其子类ArrayList对象的方法(why)。心中十分困惑,查阅相关资料发现这便是java的多态原理。 二、多态 什么是多态? 百度上原话是:所谓多 阅读全文
posted @ 2019-11-07 11:12 fish大叔 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9] 阅读全文
posted @ 2019-11-06 23:45 fish大叔 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] 二. 解题思路 本题 阅读全文
posted @ 2019-11-05 19:07 fish大叔 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 二. 解题思路 本 阅读全文
posted @ 2019-11-05 17:39 fish大叔 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \ 2 2 [1,2] 阅读全文
posted @ 2019-11-05 16:28 fish大叔 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / \ 1 3 输出: true 示例 2: 输入: 阅读全文
posted @ 2019-11-05 15:55 fish大叔 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 阅读全文
posted @ 2019-11-04 14:46 fish大叔 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一. 问题描述 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 二. 解题思路 本体思路:采用迭代的方法对二叉树进行遍历。 步骤一:建立一个空栈和一个list表,将temp 阅读全文
posted @ 2019-10-30 14:19 fish大叔 阅读(545) 评论(0) 推荐(0) 编辑