自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dev_zyx的博客

talk is cheap, show me code!

原创 119. 杨辉三角 II

题目: 119. 杨辉三角 II 题解: 1. 模拟过程: 直接模拟就好。 2. 公式法: 代码: 1. 模拟过程: /** * code119 */ import java.util.*; public class code119 { /** * 帕斯卡三角形...

2020-02-27 23:15:34 81 0

原创 118. 杨辉三角

题目: 118. 杨辉三角 题解: 代码: /** * code118 */ import java.util.*; public class code118 { /** * 帕斯卡三角形 * 1 * 1 1 * 1 2 1 ...

2020-02-27 17:33:19 81 0

原创 232. 用栈实现队列

题目: 232. 用栈实现队列 题解: 代码: /** * code232 */ import java.util.*; public class code232 { public static class MyQueue { public Stack...

2020-02-26 23:31:57 89 0

原创 114. 二叉树展开为链表

题目: 114. 二叉树展开为链表 题解: 解题思路: 思路来源于很多人的题解,按先序遍历来看,1的右子树5,6都该在4的后面。 1 / \ 2 5 / \ \ 3 4 6 , 所以我们可以直接将1节点...

2020-02-26 18:50:15 52 0

原创 113. 路径总和 II

题目: 113. 路径总和 II 题解: 代码: /** * code113 */ import java.util.*; public class code113 { public static List<List<Integer>> path...

2020-02-25 22:54:46 70 0

原创 112. 路径总和

题目: 112. 路径总和 题解: 代码: 1. 代码一: /** * code112 */ public class code112 { // 解法一: public static boolean hasPathSum(TreeNode root, int sum) {...

2020-02-25 15:17:44 66 0

原创 111. 二叉树的最小深度

题目: 111. 二叉树的最小深度 题解: 代码: /** * code111 */ public class code111 { public static int minDepth(TreeNode root) { if (root == null) { ...

2020-02-24 22:12:29 39 0

原创 110. 平衡二叉树

题目: 110. 平衡二叉树 题解: 代码: /** * code110 */ public class code110 { public static boolean isBalanced(TreeNode root) { // 它是一棵空树 ...

2020-02-24 17:05:44 52 0

原创 109. 有序链表转换二叉搜索树

题目: 109. 有序链表转换二叉搜索树 题解: 1. 题解一: 代码: 1. 代码一: /** * code109 */ import java.util.*; public class code109 { public static TreeNode sortedList...

2020-02-23 12:30:57 44 0

原创 108. 将有序数组转换为二叉搜索树

题目: 108. 将有序数组转换为二叉搜索树 题解: 代码: /** * code108 */ public class code108 { // 左右等分建立左右子树,中间节点作为子树根节点,递归该过程 public static TreeNode...

2020-02-22 13:08:49 53 0

原创 106. 从中序与后序遍历序列构造二叉树

题目: 106. 从中序与后序遍历序列构造二叉树 题解: 题解一: 在递归方法中,传入子数组的边界索引。 注意:在递归方法中,有一个数组的边界索引,得通过计算得到,计算的依据是递归方法传入的“中序遍历数组”(的子数组)和“后序遍历数组”(的子数组)的长度是一样的。我的办法是解方程计算未知...

2020-02-21 12:07:07 70 0

原创 105. 从前序与中序遍历序列构造二叉树

题目: 105. 从前序与中序遍历序列构造二叉树 题解: 抓住“前序遍历的第 1 个元素一定是二叉树的根结点”,不难写出代码。关键还是拿 LeetCode 上面的例子画一个图,思路就很清晰了。 前序遍历数组的第 11 个数(索引为 00)的数一定是二叉树的根结点,于是可以在中序遍历中找这个根结点...

2020-02-20 21:23:32 260 0

原创 104. 二叉树的最大深度

题目: 104. 二叉树的最大深度 题解: 代码: /** * code104 */ public class code104 { public static int maxDepth(TreeNode root) { // 递归退出条件,到叶子节点 ...

2020-02-19 17:54:25 66 0

原创 103. 二叉树的锯齿形层次遍历

题目: 103. 二叉树的锯齿形层次遍历 题解: 1. 迭代法: 使用bfs,对应层判断一下奇偶,决定在表头还是表尾添加元素就可以了。 2. 递归法: 代码: 1. 迭代法: /** * code103 */ import java.util.*; public class code1...

2020-02-19 11:55:34 100 0

原创 107. 二叉树的层次遍历 II

题目: 107. 二叉树的层次遍历 II 题解: 就比第102题多了一句: Collections.reverse(list); 代码: 1. 迭代法: /** * code107 */ import java.util.*; public class code107 { ...

2020-02-18 12:15:46 69 0

原创 102. 二叉树的层次遍历

题目: 102. 二叉树的层次遍历 题解: 1. 迭代实现: 代码: 1. 迭代实现: /** * code102 */ import java.util.*; public class code102 { public static List<List<Int...

2020-02-17 23:14:40 55 0

原创 101. 对称二叉树

题目: 101. 对称二叉树 题解: 注: 递归的难点在于:找到可以递归的点 为什么很多人觉得递归一看就会,一写就废。 或者说是自己写无法写出来,关键就是你对递归理解的深不深。 对于此题: 递归的点怎么找?从拿到题的第一时间开始,思路如下: 怎么判断一棵树是不是对称二叉树? 答案:如果所...

2020-02-17 13:15:13 86 0

原创 100. 相同的树

题目: 100. 相同的树 题解: 代码: /** * code100 */ public class code100 { public static boolean isSameTree(TreeNode p, TreeNode q) { // p and q ...

2020-02-16 22:33:58 40 0

原创 98. 验证二叉搜索树

题目: 98. 验证二叉搜索树 题解: 解题思路: BST树中序遍历(inorder traversal), 把每个结点的值放入待验证的List。 如果是有效的BST树,那么该List是无重复元素且升序的。 代码: /** * code98 */ import java.util.*; ...

2020-02-16 21:32:51 70 0

原创 95. 不同的二叉搜索树 II

题目: 95. 不同的二叉搜索树 II 题解: 我们可以利用一下查找二叉树的性质。左子树的所有值小于根节点,右子树的所有值大于根节点。 所以如果求 1…n 的所有可能。 我们只需要把 1 作为根节点,[ ] 空作为左子树,[ 2 … n ] 的所有可能作为右子树。 2 作为根节点,[ 1 ] ...

2020-02-16 12:33:10 95 0

原创 96. 不同的二叉搜索树

题目: 96. 不同的二叉搜索树 题解: 1. 方法一:动态规划 思路: 标签:动态规划 假设n个节点存在二叉排序树的个数是G(n),令f(i)为以i为根的二叉搜索树的个数,则 G(n) = f(1) + f(2) + f(3) + f(4) + … + f(n) 当i为根节点时,其左子树节点...

2020-02-15 00:57:02 68 0

原创 LeetCode如何构建链表和树的测试用例

平时在刷leetcode题目中的链表和树时,难免会出现调试不方便的问题。因为习惯了IDEA中debug来进行错误分析,所以本文将实现leetcode刷题中链表和数在IDEA中的调试。 链表 直接上代码。 public static class ListNode{ int val; ...

2020-02-14 20:59:44 841 0

原创 94. 二叉树的中序遍历

题目: 94. 二叉树的中序遍历 题解: 1. 递归中序遍历 第一种解决方法是使用递归。这是经典的方法,直截了当。我们可以定义一个辅助函数来实现递归。 2. 迭代中序遍历 考查到当前节点时,并不直接输出该节点。 而是当考查节点为空时,从栈中弹出的时候再进行输出(永远先考虑左子树,直到左子树为空才...

2020-02-13 23:13:08 538 0

原创 93. 复原IP地址

题目: 93. 复原IP地址 题解: 思路: 我们要知道IP的格式,每位是在0~255之间, 注意: 不能出现以0开头的两位以上数字,比如012,08... 思路一:暴力法 我们把所有出现可能都列举出来,看是否满足条件. 思路二:回溯算法 代码: 1. 代码一: /** * code93...

2020-02-12 20:53:54 91 0

原创 92. 反转链表 II

题目: 92. 反转链表 II 题解: 分析: 第一步:找到待反转节点的前一个节点。 第二步:反转m到n这部分。 第三步:将反转的起点的next指向反转的后面一部分。 第四步:将第一步找到的节点指向反转以后的头节点。 结合206. 反转链表,如下图所示: (注:图中的"next&quo...

2020-02-11 20:55:21 58 0

原创 206. 反转链表

题目: 206. 反转链表 题解: 双指针迭代 我们可以申请两个指针,第一个指针叫 pre,最初是指向 null 的。 第二个指针 cur 指向 head,然后不断遍历 cur。 每次迭代到 cur,都将 cur 的 next 指向 pre,然后 pre 和 cur 前进一位。 都迭代完了(cu...

2020-02-11 13:09:25 81 0

原创 91. 解码方法

题目: 91. 解码方法 题解: 1. 解法一: 很容易想到递归去解决,将大问题化作小问题。 比如 232232323232。 对于第一个字母我们有两种划分方式。 2|32232323232 和 23|2232323232 所以,如果我们分别知道了上边划分的右半部分 32232323232 的解...

2020-02-10 00:08:25 252 0

原创 90. 子集 II

题目: 90. 子集 II 题解: 参考LeetCode第78题,这个比较好改,我们只需要判断当前数字和上一个数字是否相同,相同的话跳过即可。当然,要把数字首先进行排序。 画出递归树,在同一层中,第一次add无须考虑是否存在相同的值,但同一层中的后续add操作,如果添加相同的值,那么就是重复运算...

2020-02-09 01:10:08 85 0

原创 89. 格雷编码

题目: 89. 格雷编码 题解: /** 关键是搞清楚格雷编码的生成过程, G(i) = i ^ (i/2); 如 n = 3: G(0) = 000, G(1) = 1 ^ 0 = 001 ^ 000 = 001 G(2) = 2 ^ 1 = 010 ^ 001 = 011 G(3) =...

2020-02-08 13:00:49 87 0

转载 [Java] Mac安装JDK

参考: [Java] Mac安装JDK MAC安装JDK及环境变量配置 Mac下jdk安装配置 Mac 安装JDK及环境变量配置

2020-02-06 20:40:46 109 0

转载 苹果mac电脑的end 键和home键在哪

在苹果Mac电脑的键盘上**没有**Home, End, Page UP, Page DOWN这些键, 可以通过用Fn键来组合得到同样的功能: Home键=Fn+左方向、 End键=Fn+右方向、 PageUP=Fn+上方向、 PageDOWN=Fn+下方向、向前 Delete=Fn+delet...

2020-02-06 20:09:13 296 0

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