LeetCode
文章平均质量分 61
想变厉害的大白菜
这个作者很懒,什么都没留下…
展开
-
【LeetCode】53. 最大子数组和 - Go 语言题解
本文给出了【LeetCode】53. 最大子数组和 的 Go 语言题解原创 2022-09-04 15:58:06 · 1391 阅读 · 0 评论 -
【LeetCode】121. 买卖股票的最佳时机 - Go 语言题解
本文给出了LeetCode第121题:买卖股票的最佳时机 的 Go 语言题解原创 2022-09-03 17:19:21 · 1340 阅读 · 0 评论 -
【LeetCode】88. 合并两个有序数组 - Go 语言题解
本文介绍了“【LeetCode】88. 合并两个有序数组”的Go语言题解原创 2022-08-28 16:31:27 · 760 阅读 · 0 评论 -
【LeetCode】35. 搜索插入位置 - Go 语言题解
本文给出了 LeetCode 的第35题,搜索插入位置,的 Go 语言题解原创 2022-08-22 20:06:35 · 567 阅读 · 0 评论 -
【LeetCode】20. 有效的括号 - Go 语言题解
本文给出了LeetCode的第20题“有效的括号”的 Go 语言题解原创 2022-08-20 21:24:18 · 729 阅读 · 0 评论 -
【LeetCode】27. 移除元素 - Go 语言题解
本文给出了 LeetCode 的题目“移除元素 ”的 Go 语言题解原创 2022-08-20 11:42:22 · 554 阅读 · 0 评论 -
【LeetCode】15. 三数之和 - Go 语言题解
本文给出了 LeetCode 第15题:三数之和 的 Go 语言题解原创 2022-08-09 10:36:48 · 639 阅读 · 0 评论 -
【LeetCode】118. 杨辉三角 - Go 语言题解
本文给出了LeetCode的 118. 杨辉三角 的 Go 语言题解原创 2022-08-01 12:56:25 · 828 阅读 · 0 评论 -
【LeetCode】64. 最小路径和 - Go 语言题解
本文给出了LeetCode第64题:最小路径和 的 Go 语言题解原创 2022-07-28 10:56:24 · 658 阅读 · 0 评论 -
【LeetCode】55. 跳跃游戏 - Go 语言题解
本文给出了LeetCode第55题:跳跃游戏的Go语言题解原创 2022-07-27 11:59:45 · 475 阅读 · 0 评论 -
【LeetCode】70. 爬楼梯 - Go 语言题解
本文介绍了LeetCode的 “70. 爬楼梯” 的Go 语言题解原创 2022-07-26 16:24:54 · 212 阅读 · 0 评论 -
【LeetCode】42. 接雨水 - Go 语言题解
本文给出了LeetCode中题目“42. 接雨水”的Go 语言题解原创 2022-07-26 15:35:06 · 372 阅读 · 1 评论 -
【LeetCode】11. 盛最多水的容器 - Go 语言题解
本文给出了 LeetCode 11. 盛最多水的容器 的 Go 语言题解原创 2022-07-20 11:15:14 · 226 阅读 · 0 评论 -
【LeetCode】3. 无重复字符的最长子串 - Go 语言题解
本文给出了 LeetCode 3. 无重复字符的最长子串 的 Go 语言题解原创 2022-07-19 12:46:27 · 257 阅读 · 0 评论 -
【LeetCode】2. 两数相加 - Go 语言题解
本文给出了【LeetCode】2. 两数相加 的 Go 语言题解原创 2022-07-17 16:33:10 · 171 阅读 · 0 评论 -
【LeetCode】21. 合并两个有序链表 - Go 语言题解
合并两个有序链表的Go语言实现原创 2022-06-27 17:44:34 · 326 阅读 · 0 评论 -
【LeetCode】435. 无重叠区间 - Go 语言题解
本文给出了LeetCode上题 “435. 无重叠区间” 的 Go 语言题解原创 2022-06-07 16:48:33 · 346 阅读 · 0 评论 -
一个数组中是否存在相同的数字
文章目录一、题目描述二、解题思路三、我的题解一、题目描述知某次聚会有N个人参加,这N个人来自26个地区,现在将26个地区使用数字0-25表示,使用整数数组Locations存储这N个人的地区,请返回一个bool值,True代表所有人的地区全都不同,False代表存在相同地区。要求:不能使用额外的存储结构。二、解题思路双重遍历:将当前数字遍历到的数字和其后面的所有数字作比较,看是否相同。三、我的题解Go 语言题解:package main import ( "fmt")原创 2022-05-25 17:01:04 · 234 阅读 · 0 评论 -
求一个数的二进制表示中 1 的个数
文章目录一、题目描述二、解题思路三、我的题解一、题目描述编写一个函数,求一个数的二进制表示中的 1 位的个数,例如 9 的二进制表示为 1001,1 位的个数为 2。二、解题思路将数转换为二进制,再计算 1 的个数。将一个数转换为二进制的方法是 除二取余。三、我的题解Go 语言题解:package main import ( "fmt") func main() { var b int a := 9 //求该数的二进制表示中1的个数 c :原创 2022-05-25 16:38:55 · 178 阅读 · 0 评论 -
【LeetCode】94. 二叉树的中序遍历 - Go 语言题解
文章目录一、题目描述二、题目分析三、我的题解一、题目描述给定一个二叉树的根节点 root ,返回它的中序遍历 。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]提示:树中节点数目在范围 [0, 100] 内-100 <= Node.val <= 100二、题目分析首先我们需要了解什么是二叉树的中序遍历:按照访问左子树——根节点——右子原创 2022-05-17 15:02:53 · 269 阅读 · 0 评论 -
【LeetCode】剑指 Offer 07. 重建二叉树 - Go 语言题解
本文给出了LeetCode中题目“剑指 Offer 07. 重建二叉树”的Go语言题解原创 2022-05-06 17:10:24 · 465 阅读 · 0 评论 -
【LeetCode】剑指 Offer 26. 树的子结构 - Go 语言题解
文章目录一、题目描述二、我的题解一、题目描述输入两棵二叉树 A 和 B,判断 B 是不是 A 的子结构。(约定空树不是任意一个树的子结构)B 是 A 的子结构, 即 A 中有出现和 B 相同的结构和节点值。例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false原创 2022-03-09 22:16:02 · 205 阅读 · 0 评论 -
【LeetCode】剑指 Offer 55 - II. 平衡二叉树 - Go 语言题解
本文介绍了判断平衡二叉树的两种递归法的Go语言题解原创 2022-03-09 10:42:00 · 704 阅读 · 0 评论 -
【LeetCode】剑指 Offer 55 - I. 二叉树的深度 - Go语言题解
文章目录一、题目描述二、我的题解一、题目描述输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。提示:节点总数 <= 10000二、我的题解要求树的深度,最直接的想法就是深度优先遍历,遍历一层则层数加1。深度优先遍历有两种写法:递归原创 2022-03-08 16:20:05 · 382 阅读 · 0 评论 -
【LeetCode】剑指 Offer 53 - I. 在排序数组中查找数字 I - Go 语言题解
剑指 Offer 53 - I. 在排序数组中查找数字 I 的 Go 语言题解原创 2022-03-06 21:34:01 · 470 阅读 · 0 评论 -
【LeetCode】剑指 Offer 32 - III. 从上到下打印二叉树 III - Go 语言题解
文章目录一、题目描述二、我的题解一、题目描述请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]]提示:节点总数 <= 1000二、我的题解根据之字形的特原创 2022-03-06 16:41:13 · 460 阅读 · 0 评论 -
【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II - Go 语言题解
剑指 Offer 32 - II. 从上到下打印二叉树 II Go语言题解原创 2022-03-06 12:03:56 · 280 阅读 · 0 评论 -
【LeetCode】剑指 Offer 27. 二叉树的镜像 - Go 语言题解
剑指 Offer 27. 二叉树的镜像 的 Go 语言题解原创 2022-03-06 11:07:07 · 303 阅读 · 0 评论 -
【LeetCode】剑指 Offer 11. 旋转数组的最小数字 - Go 语言题解
文章目录一、题目描述二、我的题解1. 双指针2. 单指针一、题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在重复元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0注意:本题与主站 154 题相原创 2022-03-05 21:11:38 · 99 阅读 · 0 评论 -
【LeetCode】剑指 Offer 28. 对称的二叉树 - Go 语言题解
剑指 Offer 28. 对称的二叉树Go语言版题解原创 2022-03-05 11:52:23 · 387 阅读 · 0 评论 -
【LeetCode】9. 回文数 - Go 语言题解
文章目录一、题目描述二、我的题解1. 生成倒序数,和原数对比2. 生成原数后半段的倒序数,和原数前半段对比一、题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回原创 2022-03-04 15:29:49 · 256 阅读 · 0 评论 -
【LeetCode】剑指 Offer 31. 栈的压入、弹出序列 - Go语言题解
文章目录一、题目描述二、我的题解三、一个大佬的思路一、题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:原创 2022-03-03 21:25:08 · 189 阅读 · 0 评论 -
【LeetCode】剑指 Offer 57. 和为 s 的两个数字 - Go 语言题解
文章目录一、题目描述二、我的题解 - 哈希表三、双指针解法一、题目描述输入一个 递增 排序的数组和一个数字 s,在数组中查找两个数,使得它们的和正好是 s。如果有多对数字的和等于 s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]限制:1 <= nums.le原创 2022-03-01 21:36:25 · 272 阅读 · 0 评论 -
【LeetCode】5. 最长回文子串 - Go 语言题解
文章目录一、题目描述二、我的题解1. 两端向中间遍历法2. 后缀遍历法3. 建立哈希表,遍历位置切片一、题目描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb"提示:1 <= s.length <= 1000s 仅由数字和英文字母组成二、我的题解1. 两端向中间遍历法设置两个指针 i , j:i 从串头开始遍历,j原创 2022-02-28 21:46:58 · 465 阅读 · 0 评论 -
【LeetCode】剑指 Offer 35. 复杂链表的复制 - Go 语言题解
【LeetCode】剑指 Offer 35. 复杂链表的复制 - Go 语言题解原创 2022-02-26 22:14:55 · 350 阅读 · 0 评论 -
【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点 - Go语言题解
文章目录一、题目描述二、两个要点1. 判断节点相同的条件2. 对 “第一个公共节点” 的理解三、我的题解 - 遍历法四、哈希表法五、双指针一、题目描述输入两个链表,找出它们的 第一个公共节点 。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value =原创 2022-02-25 21:15:28 · 451 阅读 · 0 评论 -
【leetCode】剑指 Offer 25. 合并两个排序的链表 - Go 语言题解
文章目录一、题目描述二、我的题解1. 单独取头法2. 虚拟头节点法一、题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000二、我的题解1. 单独取头法/** * Definition for singly-linked list. * type ListNod原创 2022-02-25 10:30:52 · 552 阅读 · 0 评论 -
【LeetCode】剑指 Offer 18. 删除链表的节点 - Go 语言题解
文章目录一、题目描述二、我的题解 - 双指针法三、其实也可以用单指针完成一、题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出:原创 2022-02-24 22:00:48 · 192 阅读 · 0 评论 -
【LeetCode】剑指 Offer 22. 链表中倒数第k个节点 - Go 语言题解
文章目录一、题目描述二、我的题解1. 方法一:两次遍历2. 方法二:双指针三、一点讨论一、题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.二、我的题解1. 方法一原创 2022-02-24 21:17:50 · 328 阅读 · 0 评论 -
【LeetCode】剑指 Offer 24. 反转链表 - Go 语言题解
文章目录一、题目描述二、我的题解一、题目描述定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000二、我的题解/** * Definition for singly-linked list. * type ListNode struct { *原创 2022-02-24 19:37:43 · 150 阅读 · 0 评论