自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (1)
  • 收藏
  • 关注

原创 [leetCode]102. 二叉树的层序遍历

题目链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]队列class Solution

2020-10-31 20:03:27 149

原创 [leetCode]590. N叉树的后序遍历

题目https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/给定一个 N 叉树,返回其节点值的后序遍历。例如,给定一个 3叉树 :返回其后序遍历: [5,6,3,2,4,1].递归class Solution { List<Integer> ans = new ArrayList(); public List<Integer> postorder(Node root) {

2020-10-31 19:43:50 121

原创 [leetCode]589. N叉树的前序遍历

题目https://leetcode-cn.com/problems/n-ary-tree-preorder-traversal/给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 :返回其前序遍历: [1,3,5,6,2,4]。递归class Solution { List<Integer> ans = new ArrayList<>(); public List<Integer> preorder(Node root

2020-10-31 19:25:20 64

原创 [leetCode]145. 二叉树的后序遍历

题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]递归class Solution { List<Integer> ans = new ArrayList<>(); public List<

2020-10-31 19:09:46 49

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

题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]递归class Solution { private List<Integer> ans = new ArrayList<>(); public List&l

2020-10-31 18:33:01 150

原创 [leetCode]381. O(1) 时间插入、删除和获取随机元素 - 允许重复

题目链接:https://leetcode-cn.com/problems/insert-delete-getrandom-o1-duplicates-allowed设计一个支持在平均 时间复杂度 O(1) 下, 执行以下操作的数据结构。注意: 允许出现重复元素。insert(val):向集合中插入元素 val。remove(val):当 val 存在时,从集合中移除一个 val。getRandom:从现有集合中随机获取一个元素。每个元素被返回的概率应该与其在集合中的数量呈线性相关。示例:

2020-10-31 09:41:27 179

原创 [leetCode]347. 前 K 个高频元素

题目链接:https://leetcode-cn.com/problems/top-k-frequent-elements给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。你的算法的时间复杂度必须优于 O(n log n) , n

2020-10-30 20:38:06 178

原创 [leetCode]150. 逆波兰表达式求值

题目根据 逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: 该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入: ["4", "13", "5", "/", "+"]输出:

2020-10-30 17:59:21 69

原创 [leetCode]1047. 删除字符串中的所有相邻重复项

题目链接:https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一

2020-10-30 17:46:41 276

原创 [leetCode]463. 岛屿的周长

题目链接:https://leetcode-cn.com/problems/island-perimeter给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。输入:

2020-10-30 10:09:30 151

原创 [leetCode]129. 求根到叶子节点数字之和

博客园: https://www.cnblogs.com/PythonFCG/p/13895105.html题目链接:https://leetcode-cn.com/problems/sum-root-to-leaf-numbers给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:.

2020-10-29 09:52:02 120

原创 [leetCode]151. 翻转字符串里的单词

博客园:题目给定一个字符串,逐个翻转字符串中的每个单词。说明:无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。示例 1:输入:"the sky is blue"输出:"blue is sky the"示例 2:输入:" hello world! "输出:"world! hello"解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。.

2020-10-28 16:28:26 219

原创 [leetCode]541. 反转字符串 II

博客园题目链接:https://leetcode-cn.com/problems/reverse-string-ii给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例:输入: s = "abcdefg", k = 2输出: "bacdfeg" 提示:该字符串只包含小写英文字母。给.

2020-10-28 13:04:25 133 1

原创 [leetCode]344. 反转字符串

博客园:题目链接:https://leetcode-cn.com/problems/reverse-string编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:.

2020-10-28 10:49:42 214

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

博客园:题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ .

2020-10-28 10:20:04 105 1

原创 [leetCode]1207. 独一无二的出现次数

博客园:题目链接:https://leetcode-cn.com/problems/unique-number-of-occurrences给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = .

2020-10-28 09:23:41 180 1

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

博客园:题目链接:https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal根据一棵树的中序遍历与后序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出中序遍历 inorder = [9,3,15,20,7]后序遍历 postorder = [9,15,7,20,3]返回如下的二叉树: 3 / \ 9 20 / \.

2020-10-27 22:10:49 154

原创 [leetCode]219. 存在重复元素 II

博客园:题目链接:https://leetcode-cn.com/problems/contains-duplicate-ii给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: n.

2020-10-27 19:52:10 136 2

原创 [leetCode]18. 四数之和

博客园:题目链接: https://leetcode-cn.com/problems/4sum/给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[ .

2020-10-27 18:40:13 111

原创 [leetCode]454. 四数相加 II

博客园:题目给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 −228到228−1-2^{28} 到 2^{28} - 1−228到228−1 之间,最终结果不会超过 231−12^{31} - 1231−1 。例如:输入:A = [ 1, 2]B = [.

2020-10-27 13:46:33 255

原创 [leetCode]144. 二叉树的前序遍历

博客园:题目链接:https://leetcode-cn.com/problems/binary-tree-preorder-traversal给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 递归class Solution { public List<Integer> preorderTraversal(TreeNode root) { List&lt.

2020-10-27 13:16:33 86

原创 [leetCode]1365. 有多少小于当前数字的数字

博客园:题目链接:https://leetcode-cn.com/problems/how-many-numbers-are-smaller-than-the-current-number给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。示例:输入:nums = [8,1,2,.

2020-10-26 20:43:25 107

原创 [leetCode]212场周赛

博客园:题目一: 5546. 按键持续时间最长的键链接:https://leetcode-cn.com/problems/slowest-keyLeetCode 设计了一款新式键盘,正在测试其可用性。测试人员将会点击一系列键(总计 n 个),每次一个。给你一个长度为 n 的字符串 keysPressed ,其中 keysPressed[i] 表示测试序列中第 i 个被按下的键。releaseTimes 是一个升序排列的列表,其中 releaseTimes[i] 表示松开第 i 个键的时间。字.

2020-10-25 19:40:59 284 1

原创 [leetCode]845. 数组中的最长山脉

博客园:原题地址:https://leetcode-cn.com/problems/longest-mountain-in-array我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:B.length >= 3存在 0 < i < B.length - 1 使得 B[0] < B[1] < … B[i-1] < B[i] > B[i+1] > … > B[B.length - 1](注意:B 可以是 A 的任意子数组,包括.

2020-10-25 10:14:11 104

原创 [leetCode]202. 快乐数

博客园:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。如果 n 是快乐数就返回 True ;不是,则返回 False 。示例:输入:19输出:true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 02 = 1哈希这题的关键是要理解题.

2020-10-24 20:33:07 128

原创 [leetCode]349. 两个数组的交集

博客园:给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]哈希求两个数组的交集就是求两个数组的共有元素,可以使用两个set集合来存放每个数组中不重复的元素,然后迭代另一个set集合中的元素,如果迭代元素属于另一个set集合则该元素属于交集中的元素。class Solution { publ.

2020-10-24 19:57:11 156

原创 [leetCode]575. 分糖果

博客园:给定一个偶数长度的数组,其中不同的数字代表着不同种类的糖果,每一个数字代表一个糖果。你需要把这些糖果平均分给一个弟弟和一个妹妹。返回妹妹可以获得的最大糖果的种类数。示例 1:输入: candies = [1,1,2,2,3,3]输出: 3解析: 一共有三种种类的糖果,每一种都有两个。最优分配方案:妹妹获得[1,2,3],弟弟也获得[1,2,3]。这样使妹妹获得糖果的种类数最多。示例 2 :输入: candies = [1,1,2,3]输出: 2解析: 妹妹获得糖果[2,3],.

2020-10-24 19:07:04 127

原创 [leetCode]383.赎金信

博客园给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串 ransom 能不能由第二个字符串 magazines 里面的字符构成。如果可以构成,返回 true ;否则返回 false。(题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。杂志字符串中的每个字符只能在赎金信字符串中使用一次。)注意:你可以假设两个字符串均只含有小写字母。canConstruct(“a”, “b”) -> falsecanConstr.

2020-10-24 14:48:23 260

原创 242. 有效的字母异位词

博客园:给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false哈希表「数组其实就是一个简单哈希表」,而且这道题目中字符串只有小写字符,那么就可以定义一个数组,来记录字符串s里字符出现的次数。写法1:class Solution { public boolean isAnagram(St.

2020-10-24 14:28:04 114

原创 [leetCode]538. 把二叉搜索树转换为累加树

博客园:题目链接:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node的新值等于原树中大于或等于 node.val 的值之和。提醒一下,二叉搜索树满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索树。示例1:输入.

2020-10-24 11:00:27 260

原创 [leetCode]面试题 02.07. 链表相交

双指针通过交换指针位置来使指针在循环过程中达到相同的位置public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if (headA == null || headB == null) return null; ListNode pA = headA; ListNode pB = headB; whil.

2020-10-23 21:45:31 78

原创 [leetCode]206. 反转链表

双指针class Solution { public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode cur = head; while (cur != null) { ListNode tempNext = cur.next; cur.next = prev; prev = cur;

2020-10-23 20:49:36 90

原创 [leetCode]707. 设计链表

原始链表操作无哑节点class MyLinkedList { class Node { int val; Node next; Node (int x) { val = x; } } private Node first = null; // 链表长度 private int N = 0; /** Initialize your data structure h.

2020-10-23 20:31:28 181

原创 [leetCode]203. 移除链表元素

哑节点删除链表的某个节点只需要操作该结点前一个节点的指针,假如删除的节点为头节点,那么就可以设置一个哑节点指向头节点,这样就统一了删除操作。class Solution { public ListNode removeElements(ListNode head, int val) { ListNode node = new ListNode(-1); node.next = head; ListNode prev = node; .

2020-10-23 19:05:11 70

原创 [leetCode]59. 螺旋矩阵 II

模拟模拟顺时针画矩阵过程填充上行,从左到右填充右列,从上到下填充下行,从右到左填充左列,从下到上画一圈需要画四条边,需要注意的是每画一条边都需要遵循「左闭右开」原则,也就是说每一条边的画法要相同,不然代码会越写越乱。下面按照左闭右开原则画一圈:每一种颜色代表一条边,在拐角处画新的边。class Solution { public int[][] generateMatrix(int n) { // 定义一个二维数组 int[][] ans.

2020-10-23 16:19:24 89

原创 [leetCode]34. 回文链表

快慢指针思路:1.将链表分为左右两部分2.将右半部分翻转3.使用两个指针判断是否是回文串/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public boolean isPalindrome(ListN.

2020-10-23 09:02:45 72

原创 [leetCode]209. 长度最小的子数组

双指针class Solution { public int minSubArrayLen(int s, int[] nums) { if (nums.length == 0) return 0; int ans = Integer.MAX_VALUE; int start = 0, end = 0; int sum = 0; while (end < nums.length) { .

2020-10-22 11:18:44 63

原创 [leetCode]669. 修剪二叉搜索树

递归class Solution { // 1. 确定函数参数以及返回值 public TreeNode trimBST(TreeNode root, int low, int high) { // 2.确定终止条件 if (root == null) return null; // 3. 确定单层递归逻辑 // 返回下一层合适的节点 if (root.val < low) return trimBST.

2020-10-22 09:36:18 96

原创 [leetCode]763. 划分字母区间

贪心算法+双指针class Solution { public List<Integer> partitionLabels(String S) { // 字符串S中每个字母最后出现的下标 int[] last = new int[26]; int length = S.length(); for (int i = 0; i < length; i++) { last[S.charAt(i) .

2020-10-22 08:38:03 99

原创 7.Jedis

Jedis使用java来操作Redis什么是Jedis ?Redis官方推荐的java连接开发工具测试导入对应依赖<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId>

2020-10-21 18:53:56 128

ListViewTest2.zip

在自定义Adapter中 - 重写getItemViewType()方法用来判断当前Item对象的类别 - 重写getViewTypeCount()返回item一共有几个类别 - 在geView方法中通过判断类别来填充不同的item布局并给控件设置值

2019-08-22

空空如也

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

TA关注的人

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