LeetCode
剽悍的人生不需要理由
这个作者很懒,什么都没留下…
展开
-
LeetCode -- 搜索
文章目录一、BFS(广度优先搜索)类题目1.计算在网格中从原点到特定点的最短路径长度(暂无题目来源)一、BFS(广度优先搜索)类题目1.计算在网格中从原点到特定点的最短路径长度(暂无题目来源)第0次题目描述:1 表示可以经过某个位置,求解从 (0, 0) 位置到 (tr, tc) 位置的最短路径长度。比如:输入:如上矩阵,和(2,2)输出:4解题思路:代码:public i...原创 2020-04-08 22:23:03 · 284 阅读 · 2 评论 -
LeetCode -- 动态规划
题目来源:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。文章目录一、斐波拉切数列1.爬楼梯2. 打家劫舍一、斐波拉切数列1.爬楼梯第2次题目链接:爬楼梯题目描述:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2...原创 2020-04-08 22:22:17 · 378 阅读 · 0 评论 -
LeetCode--数组与矩阵
文章目录一、数组类题目1.移动零(题号:283)2.重塑矩阵(题号:566)二、矩阵类题目一、数组类题目1.移动零(题号:283)第0次题目链接:移动零题目描述:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。解题思路:对数组进行遍历,将遍历到的非零元素依次往数组里装,从第一个位置开始装,之后再按照数组的大小在该数组后面补0。代码:2...原创 2020-04-08 22:19:26 · 352 阅读 · 0 评论 -
LeetCode -- 查找问题
题目来源:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/house-robber著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。文章目录一、斐波拉切数列1.爬楼梯(Easy)一、斐波拉切数列1.爬楼梯(Easy)第2次题目链接:...原创 2020-04-08 22:18:36 · 251 阅读 · 0 评论 -
LeetCod--树
二、“树”题目(来自LeetCode)1.二叉树的最大深度题目描述:给定一个二叉树,找出其最大深度,二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。解题思路:利用递归的思想,三部曲:第一步,找到递归出口,当root为0时,返回0,即为递归出口;第二步,找返回值,返回值为int型,为本子树的深度;第三步:递归主体是左右子树的深度,并进行比较。...原创 2020-04-08 22:15:27 · 348 阅读 · 0 评论 -
LeetCode-链表
1.找出两个链表的交点1.题目描述:2.解题思路:由于创建链表也是创建对象,所以存放在堆内存中,而"=="比较的是对象的内存地址,所以对于某两个节点的值相同并且下一个节点相同,但不一定是交点,因为它们的内存地址不同,不算是同一个节点。3.代码:/** * Definition for singly-linked list. * public class ListNode { * ...原创 2020-04-08 22:14:35 · 274 阅读 · 0 评论 -
对递归的理解
转自博客:http://39.96.217.32/blog/4 作者:刘宇麟递归的三部曲:第一步:找终止条件(也即递归出口),什么情况下递归终止?第二步:找返回值,我们希望向上一级递归返回什么信息?第三步:本级递归应该做什么,也即是递归的主体。例1:求二叉树的最大深度题目描述:给定一个二叉树,找出其最大深度,二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶...转载 2019-06-02 21:17:41 · 198 阅读 · 0 评论 -
剪绳子,整数拆分
一、题目描述:二、解题思路:解法一:贪心算法,尽可能剪多个长度为3的绳子,可证明得长度为3的绳子乘积最大,不留长度为1的绳子,若余1,则将其加到其中一个长度为3的绳子上。证明:当 n >= 5 时,3(n - 3) - n = 2n - 9 > 0,且 2(n - 2) - n = n - 4 > 0。因此在 n >= 5 的情况下,将绳子剪成一段为 2 或者 3,...原创 2019-03-23 17:32:34 · 134 阅读 · 0 评论 -
94.中序遍历-二叉树(来源LeetCode)
给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]实现代码:import java.util.*;class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }} //树节点...原创 2018-12-16 16:50:44 · 99 阅读 · 0 评论 -
95. 不同的二叉搜索树 II(来源LeetCode)
给定一个整数 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]]思路:确定一个i,以i为界,将序列分为两部分(左右子树),再采用递归的方法继续分左右子树,最后采用左右子树组合的方法生成全部二叉查找树。代码如...转载 2018-12-18 09:33:08 · 79 阅读 · 0 评论 -
LeetCode--最大二叉树
题目描述:解题思路:以数组中最大值为中心,分为左右两段,再递归遍历左右两段,注意避免空指针与空数组。class Solution { public static TreeNode constructMaximumBinaryTree(int[] nums) { int [] shuju = new int[2]; //定义数组shuju shuj...原创 2019-01-22 22:12:33 · 113 阅读 · 0 评论 -
LeetCode104--二叉树最大深度
class Solution { public int maxDepth(TreeNode root) { int leftCon = 0; int rightCon = 0; if(root == null){ return 0; } else { leftC...原创 2019-01-23 20:41:52 · 118 阅读 · 0 评论 -
LeetCode--二叉树剪枝
题目描述:解题思路:递归,在节点是否满足删除条件,若不满足,进行递归,之后再进行判断其是否满足删除条件(因为递归可能会删除其左右子树),删除方法:令该节点等于父节点的子节点,调用方法,返回null即将该节点置为null。class Solution { public TreeNode pruneTree(TreeNode root) { if(root == null...原创 2019-01-24 20:42:11 · 395 阅读 · 0 评论 -
LeetCode226--翻转二叉树
题目描述:解题思路:将左子树和右子树作为一个整体,进行翻转,递归,在分别将左子树的左右子树进行翻转,同理将右子树的左右子树进行翻转。注:击败100%用户class Solution { public TreeNode invertTree(TreeNode root) { if(root == null){ return null; ...原创 2019-01-24 21:41:07 · 86 阅读 · 0 评论 -
LeetCode--965--单值二叉树
题目描述:解题思路:使用递归的方式,看跟节点的值是否等于左右子节点的值,若等于,则继续递归左右子树,否则返回false。class Solution { public boolean isUnivalTree(TreeNode root) { if(root==null){ return true; } boo...原创 2019-01-25 16:06:26 · 178 阅读 · 0 评论 -
LeetCode--237--删除链表中的节点
题目代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNo...原创 2019-01-28 20:58:12 · 331 阅读 · 0 评论