![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
java能飞翔
一起学习,一起进步
展开
-
leetcode -- 496.提莫攻击
见代码注释。原创 2023-06-14 20:53:52 · 90 阅读 · 0 评论 -
位运算基本规则、常见应用场景以及部分对应leetcode题目整理
位运算基本规则、常见应用场景以及部分对应leetcode题目整理原创 2022-10-06 10:16:27 · 587 阅读 · 0 评论 -
leetcode -- 137. 只出现一次的数字 II
leetcode -- 137. 只出现一次的数字 II原创 2022-10-06 09:30:34 · 320 阅读 · 0 评论 -
leetcode -- 476. 数字的补数
leetcode -- 476. 数字的补数原创 2022-10-05 10:19:32 · 371 阅读 · 0 评论 -
leetcode -- 762. 二进制表示中质数个计算置位
leetcode -- 762. 二进制表示中质数个计算置位原创 2022-10-01 10:25:34 · 625 阅读 · 0 评论 -
leetcode -- 231. 2的幂
leetcode -- 231. 2的幂原创 2022-10-01 09:47:09 · 160 阅读 · 0 评论 -
leetcode -- 11. 盛最多水的容器
leetcode -- 11. 盛最多水的容器原创 2022-09-12 23:23:45 · 114 阅读 · 0 评论 -
leetcode94.二叉树的中序遍历
leetcode94.二叉树的中序遍历原创 2022-09-11 23:01:35 · 90 阅读 · 0 评论 -
leetcode88. 合并两个有序数组
leetcode 88原创 2022-09-01 22:33:19 · 110 阅读 · 0 评论 -
leetcode -- 112.路径总和
leetcode -- 112.路径总和原创 2022-06-07 12:02:04 · 102 阅读 · 0 评论 -
leetcode -- 111.二叉树的最小深度
leetcode -- 111.二叉树的最小深度原创 2022-06-07 11:13:09 · 82 阅读 · 0 评论 -
leetcode -- 110平衡二叉树
leetcode -- 110平衡二叉树原创 2022-06-06 14:22:01 · 86 阅读 · 0 评论 -
leetcode -- 108.将有序数组转换为二叉搜索树
leetcode -- 108.将有序数组转换为二叉搜索树原创 2022-06-06 13:57:04 · 205 阅读 · 0 评论 -
leetcode -- 104二叉树的最大深度
package com.ym.no104maxdepth;/** * @author ym * @date 2022/05/30 13:31:34 * @description 给定一个二叉树,找出其最大深度。 * <p> * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 * <p> * 说明: 叶子节点是指没有子节点的节点。 **/public class MaxDepth { public int maxDepth(TreeNode r.原创 2022-05-30 13:43:14 · 120 阅读 · 0 评论 -
leetcode -- 21合并两个有序链表
package com.ym.no21mergetwolists;/** * @author ym * @date 2022/05/24 15:19:40 * @description **/public class MergeTwoLists { public ListNode mergeTwoLists(ListNode list1, ListNode list2) { //创建一个头结点,用一个变量指针prev表示,对两个链表的头结点进行比较 /.原创 2022-05-24 15:24:49 · 71 阅读 · 0 评论 -
leetcode -- 20有效的括号
package com.ym.no20isvalid;import java.util.Deque;import java.util.HashMap;import java.util.LinkedList;/** * @author ym * @date 2022/05/24 11:10:19 * @description **/public class IsValid { public boolean isValid(String s) { //一开始下意识.原创 2022-05-24 11:16:14 · 64 阅读 · 0 评论 -
leetcode -- 14.最长公共前缀
class Solution { public String longestCommonPrefix(String[] strs) { //思路:对每个单词的按顺序每个字符进行判断,如果当前这个字符每个单词都有,那么就计入公共前缀 //截止条件是某一个单词结束或者某一个单词不含此字符 //参数合法性判断 if (strs == null || strs.length == 0) { return ""; .原创 2022-05-23 19:30:17 · 74 阅读 · 0 评论 -
leetcode -- 953验证外星语词典
这个题目很有趣。一开始读题目感觉跟读外国语一样,等到后来,突然想明白,这跟小学的时候学习使用字典是一样的过程,就忽然明白了,同时获得了和小时候忽然明白查字典一样的快乐了public boolean isAlienSorted(String[] words, String order) { //因为要按照给定字母表的顺序来判断,所以其实大小顺序已经确定好了,也就是从小到大 //首先将字母表顺序确定一下 //用现实生活中的字母表来保存外星人字母表顺序 .原创 2022-05-17 21:03:06 · 891 阅读 · 0 评论 -
leetcode -- 面试题 04.06. 后继者
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { /** 如果节点的右子树不为空,那么就是右子树最左边的节点 如果节点的右子树为空,那么需要找到祖节点.原创 2022-05-16 12:57:28 · 103 阅读 · 0 评论 -
leetcode -- 13罗马数字转整数
class Solution { public int romanToInt(String s) { //读取罗马数字字符串 char[] ch = s.toCharArray(); //转化后的数值 int num = 0; //遍历每一个字符 for(int i = 0; i < ch.length; i++){ //判断六种特殊情况 if(c..原创 2022-05-16 10:00:15 · 82 阅读 · 0 评论 -
leetcode -- 19删除链表的倒数第 N 个结点
代码:public ListNode removeNthFromEnd(ListNode head, int n) { //1.使用快慢指针法,使快指针先走n个步骤 // 这样的话,当慢指针走到待删除结点时,快指针已经走到结尾了 //2.对于涉及到删除增加的链表类操作,最好用一个虚拟头节点 // 并且这样就不用把头节点单独考虑了 //虚拟头节点 ListNode dummyNode = new ListN..原创 2022-03-17 15:43:24 · 770 阅读 · 0 评论 -
leetcode -- 876 链表的中间结点
代码: public ListNode middleNode(ListNode head) { //注意代码的健壮性 if (head == null) { return null; } //使用快慢指针法 //快指针一次两步,慢指针一次一步,这样的话等快指针走到最后,慢指针正好走到一半 ListNode slow = head; ListNode fast = hea.原创 2022-03-17 11:59:47 · 1032 阅读 · 0 评论 -
leetcode -- 977有序数组的平方
代码:public int[] sortedSquares(int[] nums) { //三个指针,一个从左向右,一个从右向左,一个是目标数组从右向左 int leftPointer = 0; int rightPointer = nums.length - 1; int index = nums.length - 1; //目标数组 int[] res =..原创 2022-03-17 00:07:27 · 792 阅读 · 0 评论 -
leetcode -- 557反转字符串中的单词 III
代码:public String reverseWords(String s) { //这个题目是以每个空格来分隔一个单元,只对这个单元做反转 //因此要先将字符串转为字符数组 char[] chars = s.toCharArray(); //然后双指针遍历,第一个指针是当前单词第一个字母,第二个指针是当前单词最后一个字母 int left = 0; int right = 0; while.原创 2022-03-16 23:58:24 · 156 阅读 · 0 评论 -
leetcode -- 167两数之和 II - 输入有序数组
代码:/** * 思路: * 由于题目要求常量级的额外空间,因此无法使用hashmap的方法 * 考虑到这个数组已经排序了,因此可以左指针从最左边开始,右指针从最右边开始, * 如果left+right>target,那么说明,right过大,right需要左移 * 如果left+right<target,那么说明,left过小,left需要右移 * 注意下标从1开始 * * @param numbers ..原创 2022-03-16 23:06:28 · 6758 阅读 · 0 评论 -
leetcode —— 35搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。思路以及代码:使用二分查找法,循环的跳出条件很重要public int searchInsert(int[] nums, int target) { int left = 0; int right = nums.length-1; while (left<=right){//问原创 2022-03-03 22:00:43 · 187 阅读 · 0 评论 -
leetcode—— 278第一个错误的版本
1.题目描述这个题目出自leetcode,难度为简单题。你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用原创 2022-03-03 09:48:32 · 70 阅读 · 0 评论 -
leetcode—— 704二分查找
leetcode 每日刷题之二分查找 leetcode 704原创 2022-03-01 13:15:12 · 273 阅读 · 0 评论 -
leetcode —— 344反转字符串
class Solution { public void reverseString(char[] s) { //选择左右两个指针,左指针与右指针互换元素 int left = 0; int right = s.length - 1; for (; left <= s.length / 2 && right >= s.length / 2; left++, right--) { c.原创 2022-01-03 09:31:42 · 2844 阅读 · 0 评论 -
leetcode ——1两数之和
leetcode第一题两数之和的java版本、c++版本与Python3版本原创 2021-12-29 09:59:34 · 3251 阅读 · 0 评论 -
leetcode —— 350数组交集
public int[] Intersect(int[] nums1, int[] nums2) { //将两个数组转换为list List<int> list1 = nums1.ToList(); List<int> list2 = nums2.ToList(); //定义一个过渡数组 int[] num = new int[nums1.Len..原创 2021-12-28 09:13:12 · 190 阅读 · 0 评论 -
leetcode—— 283移动零
思路:如果是0,那么就先不管它,如果不是0就按顺序放在数组相应位置,剩余位置放0public void MoveZeroes(int[] nums) { //指针,用来排序 int index = 0; //遍历数组 for (int i = 0; i < nums.Length; i++) { //如果此数字不是0 .原创 2021-12-27 14:32:36 · 116 阅读 · 0 评论 -
leetcode—— 66加一
思路一:数组转数字,数字加一,数字转数组。但是存在一个问题,如果数组非常大,数字无法承载 string numStr = ""; for (int i = 0; i < digits.Length; i++) { numStr += digits[i].ToString(); } ulong numLong = Convert.ToUInt64(numStr); .原创 2021-12-26 17:21:07 · 3442 阅读 · 0 评论 -
leetcode —— 26删除排序数组中的重复项
这个我没有做出来,分享大佬的做法: public int RemoveDuplicates(int[] nums) { //边界条件判断 if (nums == null || nums.Length == 0) return 0; int left = 0; for (int right = 1; right < nums.Length; right+..原创 2021-12-23 14:34:38 · 294 阅读 · 0 评论 -
leetcode—— 217存在重复元素
思路一:暴力解法class Solution { public boolean containsDuplicate(int[] nums) { int result = 0; for(int i = 0;i<nums.length;i++){ for(int j = i+1;j<nums.length;j++){ if(nums[i]==nums[j]){ .原创 2021-12-22 09:49:39 · 84 阅读 · 0 评论 -
leetcode —— 189旋转数组
leetcode 189题 轮转数组 空间复杂度 O(1)解法原创 2021-12-20 08:50:44 · 73 阅读 · 0 评论 -
leetcode —— 136只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。普通思考:两个循环,第一个循环从头到尾,第二个循环检查是否有重复。class Solution { public int singleNumber(int[] nums) { int singleNumber = 0; for(int i = 0;i<nums.length;i++){ int count原创 2021-12-19 21:22:04 · 1159 阅读 · 0 评论