自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 【LeetCode】201. 数字范围按位与(JAVA)

原题地址:https://leetcode-cn.com/problems/bitwise-and-of-numbers-range/题目描述:解题方案:首先m和n的最长公共前缀按位与是不会发生变化的,会改变的是公共前缀后面的位。而在m和n之间总会有后面位为1000…的一个数,由于这个数的存在,以及后面位为非公共前缀中的位,所以第一位会有1有0,所以后面的位按位作与后都会变为0,即最终结果为前几位为公共前缀,后几位均为0的数。代码:class Solution { public int

2021-01-10 22:37:23 144

原创 【LeetCode】面试题46. 把数字翻译成字符串(JAVA)

原题地址:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/题目描述:解题方案:参考:题解大佬写的代码真的很简洁代码:class Solution { public int translateNum(int num) { if(num <= 9) return...

2020-03-20 21:30:58 306

原创 【LeetCode】面试题21. 调整数组顺序使奇数位于偶数前面(JAVA)

原题地址:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/题目描述:解题方案:普通的双指针还是容易想到的,参考答案写了一个变形版的,以及采用位运算分辨是否是奇数,提高效率。代码:class Solution { public in...

2020-03-18 19:44:07 225

原创 【LeetCode】面试题29. 顺时针打印矩阵(JAVA)

原题地址:https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/题目描述:解题方案:无论是递归还是迭代,本质都是上下左右分别设定一个边界值,每走过一条边边界值就收缩1。参考:顺时针打印矩阵代码:迭代:class Solution { public int[] spiralOrder(int[][...

2020-03-18 18:38:40 352

原创 【LeetCode】面试题42. 连续子数组的最大和(JAVA)

原题地址:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/题目描述:解题方案:可以用动态规划来解。dp[i]表示以i为结尾的子数组的和的最大值。状态转移公式为dp[i]={dp[i−1]+nums[i]if dp[i−1]>0nums[i]if dp[i−1]<=0...

2020-03-18 16:50:50 228

原创 【LeetCode】面试题25. 合并两个排序的链表(JAVA)

原题地址:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/题目描述:解题方案:设定虚头节点,将两个链表中较小值依次接在后面。代码:/** * Definition for singly-linked list. * public class ListNode { * in...

2020-03-15 13:57:30 123

原创 【LeetCode】面试题55 - II. 平衡二叉树(JAVA)

原题地址:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof/题目描述:代码:递归:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNo...

2020-03-08 18:23:48 144

原创 【LeetCode】面试题61. 扑克牌中的顺子(JAVA)

原题地址:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/题目描述:解题方案:首先可以用最大数减最小数,如果距离大于4那么必定不是顺子;若距离小于4,则若除了0以外没有重复数字,就可以组成顺子。代码:class Solution { public boolean isStraight(int[] ...

2020-03-08 16:07:29 217 1

原创 【LeetCode】面试题38. 字符串的排列(JAVA)

原题地址:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/题目描述:解题方案:开始用的普通回溯,set去重,而且用的是StringBuilder,但是复杂度比较高。优化是改用了交换法回溯,节省空间,并且用char数组操作也更快,去重改用了标记数组,比set更快,但这道题是只有小写字母,如果还有其他字符的话标记数组就不...

2020-03-08 16:04:57 228

原创 【LeetCode】面试题54. 二叉搜索树的第k大节点(JAVA)

原题地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/题目描述:代码:迭代:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode le...

2020-03-07 23:36:37 129

原创 【LeetCode】面试题53 - II. 0~n-1中缺失的数字(JAVA)

原题地址:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof/submissions/题目描述:解题方案:如果不缺数的话,数组中的数字应该和下标是相同的,如果相等说明左边不缺少的数字。high取length是因为如果不缺少数字,最大的数应该是length。代码:class Solution { public int m...

2020-03-07 22:16:33 132

原创 【LeetCode】面试题39. 数组中出现次数超过一半的数字(JAVA)

原题地址:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/题目描述:代码:参考:巧妙解题 比排序实现更高效用count计数,当count为0时,res换下一个数;否则如果nums[i]和res是同一个数,那么count++;不是同一个数,count–。...

2020-03-07 22:00:54 215

原创 【LeetCode】面试题43. 1~n整数中1出现的次数(JAVA)

原题地址:https://leetcode-cn.com/problems/1nzheng-shu-zhong-1chu-xian-de-ci-shu-lcof/题目描述:解题方案:参考了题解,自己虽然也能想出来但是思路很乱。递归的话返回值是把n分块考虑了。分为除去最高位后面的部分和加上最高位的部分,再加上最高位,分类讨论。代码:class Solution { public ...

2020-03-07 15:49:12 151

原创 【LeetCode】面试题32 - II. 从上到下打印二叉树 II(JAVA)

原题地址:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/题目描述:代码:迭代:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode ...

2020-03-07 14:36:24 152

原创 【LeetCode】面试题28. 对称的二叉树(JAVA)

原题地址:https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/题目描述:代码:中序遍历迭代:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * ...

2020-03-07 13:42:25 109

原创 【LeetCode】面试题55 - I. 二叉树的深度(JAVA)

原题地址:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/题目描述:代码:递归:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeN...

2020-03-07 13:05:37 124

原创 【LeetCode】面试题27. 二叉树的镜像(JAVA)

原题地址:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/题目描述:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]代码:/** * Definition for a binary tre...

2020-03-07 12:17:04 127

原创 【LeetCode】面试题68 - II. 二叉树的最近公共祖先(JAVA)

原题地址:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/题目描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点...

2020-03-07 11:41:41 126

原创 【LeetCode】面试题51. 数组中的逆序对(JAVA)(非100%)

原题地址:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/题目描述:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5限制:0 <= 数组长度 <= 50000解题方案...

2020-03-06 22:56:27 201

原创 【LeetCode】面试题68 - I. 二叉搜索树的最近公共祖先(JAVA)

原题地址:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/题目描述:给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深...

2020-03-06 22:12:48 96

原创 【LeetCode】46. 全排列(JAVA)

原题地址:https://leetcode-cn.com/problems/permutations/题目描述:给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]解题方案:【LeetCode】46 全排列 (C++)时隔一年,写回...

2020-03-06 18:51:27 146

原创 【LeetCode】25. K 个一组翻转链表(JAVA)

原题地址:https://leetcode-cn.com/problems/reverse-nodes-in-k-group/题目描述:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5...

2020-03-06 16:30:50 85

原创 【LeetCode】21. 合并两个有序链表(JAVA)

原题地址:https://leetcode-cn.com/problems/merge-two-sorted-lists/题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:代码:递归:/** * Definition for singly-linked list. * public class ListNode { * ...

2020-03-06 15:58:05 114

原创 【LeetCode】404. 左叶子之和(JAVA)

原题地址:https://leetcode-cn.com/problems/sum-of-left-leaves/题目描述:计算给定二叉树的所有左叶子之和。示例:代码:递归:前序遍历/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode l...

2020-03-06 15:29:50 101

原创 【LeetCode】面试题49. 丑数(JAVA)

原题地址:https://leetcode-cn.com/problems/chou-shu-lcof/题目描述:我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超...

2020-03-06 15:16:01 336

原创 【LeetCode】426. 将二叉搜索树转化为排序的双向链表(JAVA)

原题地址:https://leetcode-cn.com/problems/convert-binary-search-tree-to-sorted-doubly-linked-list/题目描述:将一个二叉搜索树就地转化为一个已排序的双向循环链表。可以将左右孩子指针作为双向循环链表的前驱和后继指针。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链...

2020-03-06 14:45:38 953

原创 【LeetCode】面试题57. 和为s的两个数字(JAVA)

原题地址:https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/题目描述:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]...

2020-03-06 12:36:42 81

原创 【LeetCode】114. 二叉树展开为链表(JAVA)

原题地址:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/题目描述:给定一个二叉树,原地将它展开为链表。例如,给定二叉树将其展开为:解题方案:和Morris有点像,不过是把root的左子树放到右边,再将原来的右子树接到原左子树的最右结点上。代码:/** * Definition for a...

2020-03-05 23:37:34 144

原创 【LeetCode】1143. 最长公共子序列(JAVA)(非100%)

原题地址:https://leetcode-cn.com/problems/longest-common-subsequence/题目描述:给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abc...

2020-03-05 23:26:20 96

原创 【LeetCode】98. 验证二叉搜索树(JAVA)

原题地址:https://leetcode-cn.com/problems/validate-binary-search-tree/题目描述:给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ \1 3输...

2020-03-05 17:10:50 212

原创 【LeetCode】92. 反转链表 II(JAVA)

原题地址:https://leetcode-cn.com/problems/reverse-linked-list-ii/题目描述:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2...

2020-03-05 15:26:35 92

原创 【LeetCode】1. 两数之和(JAVA)

原题地址:https://leetcode-cn.com/problems/two-sum/题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为...

2020-03-05 14:45:35 79

原创 【LeetCode】二叉树非递归遍历(JAVA)

参考:史上最全遍历二叉树详解/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solu...

2020-03-05 14:25:33 121

原创 【LeetCode】面试题14- I. 剪绳子(JAVA)

原题地址:https://leetcode-cn.com/problems/jian-sheng-zi-lcof/题目描述:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3...

2020-02-28 13:04:54 194

原创 Java----继承、多态和抽象

继承概念:基于某个父类的扩展,制定出一个新的子类,子类可以继承父类原有的属性和方法,也可以增加原来不具备的属性和方法,或者直接重写父类中的某些方法。子类不能直接访问超类的私有域,而是需要通过super调用超类的公有函数来访问,并且子类可以用同名方法覆盖(重写)超类中的方法子类构造器中如果没有显式调用超类的构造器,则系统会自动调用超类默认构造器final类:不允许扩展的类(不允许定义子类)...

2020-02-21 22:07:09 108

原创 Java----类与接口

类1. 基本概念由类构造对象的过程成为创建类的实例封装:将数据和行为组合在一个包中,并对对象的使用者隐藏数据的实现方式。实现封装的关键在于不能让类中的方法直接访问其他类的实例域实例域:对象中的数据方法:操纵数据的过程类之间的关系:依赖(uses - a):一个类的方法操纵另一个类的对象聚合(has - a):一个类的对象包含另一个类的对象继承(is - a):一个类包含另一个类...

2020-02-21 16:42:22 129

原创 Java----final修饰符

final的基本用法final可以用来修饰类、方法和变量1. final变量final可以修饰基本类型的常量、对象引用和数组。当对象引用被修饰为final时,它只能恒定指向一个对象,但这个对象本身的值却可以改变。如果要使一个常量真正做到不可更改,可以将常量声明为static final,则这个常量在内存中的一块不可变区域。类中的static final变量在装载时被初始化为一个值,且之后不...

2020-02-21 16:16:41 92

原创 【LeetCode】面试题13. 机器人的运动范围(JAVA)

原题地址:https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/题目描述:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为...

2020-02-18 23:11:33 244

原创 【LeetCode】面试题10- II. 青蛙跳台阶问题(JAVA)

原题地址:https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2...

2020-02-18 21:16:56 222

原创 【LeetCode】面试题10- I. 斐波那契数列(JAVA)

原题地址:https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,...

2020-02-18 21:07:35 174

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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