Jaster_wisdom的专栏

待到山花烂漫时,她在丛中笑

LeetCode226. 翻转二叉树

翻转一棵二叉树。 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 代码展示: /** * Defini...

2018-08-20 22:22:40

阅读数 116

评论数 0

LeetCode199. 二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 <--- / \ 2 3 ...

2018-08-14 16:23:26

阅读数 222

评论数 0

LeetCode145. 二叉树的后序遍历

1.递归实现: class Solution { public: vector<int> postorderTraversal(TreeNode* root) { vector<int&g...

2018-08-01 18:47:02

阅读数 52

评论数 0

LeetCode144. 二叉树的前序遍历

二叉树的前序遍历主要有两种方法实现: 1.递归实现: class Solution { public: vector<int> preorderTraversal(TreeNode* root) { vector&a...

2018-08-01 17:15:00

阅读数 231

评论数 0

LeetCode129. 求根到叶子节点数字之和

给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 说明: 叶子节点是指没有子节点的节点。 示例 ...

2018-07-28 14:26:46

阅读数 195

评论数 0

LeetCode116. 填充同一层的兄弟节点

给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 ...

2018-07-28 10:54:32

阅读数 95

评论数 0

LeetCode114. 二叉树展开为链表

给定一个二叉树,原地将它展开为链表。 例如,给定二叉树 1 / \ 2 5 / \ \ 3 4 6 将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ ...

2018-07-28 10:30:20

阅读数 583

评论数 0

LeetCode113. 路径总和 II

给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 ...

2018-07-24 21:23:37

阅读数 113

评论数 0

LeetCode110. 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ ...

2018-07-24 20:16:03

阅读数 458

评论数 0

LeetCode108. 将有序数组转换为二叉搜索树

将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个...

2018-07-24 08:30:02

阅读数 80

评论数 0

LeetCode96. 不同的二叉搜索树

给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / ...

2018-07-21 20:10:05

阅读数 188

评论数 0

LeetCode98. 验证二叉搜索树

题目大意:判断给定的二叉树是不是二叉搜索树。满足二叉搜索树的条件是: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 题目分析:我们可以求出该二叉搜索树的中序遍历序列,我们知道,如果一个二叉树是二叉搜索树,那么它的中序序...

2018-07-19 21:14:10

阅读数 85

评论数 0

LeetCode106. 从中序与后序遍历序列构造二叉树

题目分析:本题与“从前序与中序遍历序列构造二叉树”属于一个套路。唯一的区别是,我们是从后序序列的最后一个节点得到根节点,同样的,再去前序序列中找到这个节点。在这个节点左侧的属于根节点的左子树部分,右侧的属于根节点右子树部分。然后根据左右子树节点的数量,在后序序列中找到他们各自的后序序列。若左子树节...

2018-07-11 17:31:32

阅读数 431

评论数 0

LeetCode105. 从前序与中序遍历序列构造二叉树

题目分析:根据前序的第一个节点就可以确定二叉树的根节点,然后在中序序列中找到该节点。位于该节点左侧的是根节点的左子树,位于该节点右侧的是根节点的右子树。然后根据左右子树节点的数量可以在前序序列中知道各自子树的前序序列。假设左子树节点的数量为3,那么除了前序的第一个节点,往后数三个就是该左子树的节点...

2018-07-11 17:06:12

阅读数 443

评论数 0

LeetCode111. 二叉树的最小深度

解析:求二叉树的最小深度,即求从根节点到任一子节点,深度的最小值。本题类似求二叉树的最大深度,都是用递归求解。二叉树的最大深度:分别求出根节点左孩子和右孩子的深度,然后将两者中较大值加1返回即可。同样的,求解二叉树的最小深度,我们要比较两者中的较小值加1返回。但还有一点要注意,就是如果一棵二叉树只...

2018-07-10 10:10:51

阅读数 75

评论数 0

LeetCode. 102 二叉树的层次遍历

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果:[ [3], [9,20], [15,...

2018-07-09 21:44:06

阅读数 200

评论数 0

LeetCode101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 ...

2018-07-09 20:49:06

阅读数 75

评论数 0

LeetCode100. 相同的树

给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3]...

2018-07-09 08:16:36

阅读数 75

评论数 0

LeetCode94. 二叉树的中序遍历

递归代码展示:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(...

2018-07-04 21:22:05

阅读数 346

评论数 0

K近邻法、kd树

本篇博客主要介绍K近邻法的主要思想。K近邻法:分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决等方式进行预测。三个基本要素:K值的选择、距离度量、分类决策规则k值的减小意味着整体模型变得复杂、容易发生过拟合 k值的增大意味着整体的模型变得简单K近邻法最简单的实现方法时线性扫描,...

2017-10-15 20:16:25

阅读数 322

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭