自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode easy 292. Nim 游戏

你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头。你们轮流进行自己的回合,你作为先手。每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。示例 1:输入:n = 4输出:false解释:如果堆中有 4 块石头,那么你永远不会赢得比赛;因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你

2021-05-11 16:47:14 132

原创 Leetcode easy 283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]思路:双指针判断class Solution { public void moveZeroes(int[] nums) { if(nums == null){ return; } int i = 0; int j = 0; f

2021-05-11 16:13:59 120

原创 Leetcode easy 278. 第一个错误的版本

你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例:给定 n = 5,并且 vers

2021-05-11 16:12:09 115

原创 Leetcode easy 257. 二叉树的所有路径

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明: 叶子节点是指没有子节点的节点。示例:输入:1/ 2 35输出: [“1->2->5”, “1->3”]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;

2021-04-27 19:20:10 137

原创 Leetcode easy 237. 删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入:head = [4,5,1,9], node = 5输出:[4,1,9]解释:给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入:head = [4,5,1,9], node = 1输出:[4,5,9]解释:给定你链表中值为 1 的第三

2021-04-26 12:41:08 131

原创 Leetcode medium 236. 二叉树的最近公共祖先

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”示例 1:输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出:3解释:节点 5 和节点 1 的最近公共祖先是节点 3 。示例 2:输入:root = [3,5,1,6,2,0,8,null,nu

2021-04-25 18:46:09 89

原创 Leetcode easy 235. 二叉搜索树的最近公共祖先

给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6解释: 节点 2 和节

2021-04-24 18:16:35 99

原创 Leetcode easy 234. 回文链表

请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true**思路:**首先想到的是另建一个数组保存链表数据,转化为数组判断。而为了减小空间复杂度,应改为使用快慢指针。首先,快指针到最后的时候,满指针的位置要么是正中间要么是正中间偏左一位;接下来,把慢指针后面的部分反转;最后,遍历对比前半部分和后半部分是否相同。/** * Definition for singly-linked list.

2021-04-22 13:25:50 111

原创 Leetcode easy 231. 2的幂

给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 20 = 1示例 2:输入: 16输出: true解释: 24 = 16示例 3:输入: 218输出: falseclass Solution { public boolean isPowerOfTwo(int n) { if(n ==1){ return true; } if(n <=0){

2021-04-22 11:15:42 94

原创 Leetcode easy 226. 翻转二叉树

翻转一棵二叉树。示例:输入: 4/ 2 7/ \ / 1 3 6 9输出: 4/ 7 2/ \ / 9 6 3 1备注:这个问题是受到 Max Howell 的 原问题 启发的 :谷歌:我们90%的工程师使用您编写的软件(Homebrew),但是您却无法在面试时在白板上写出翻转二叉树这道题,这太糟糕了。**思路:**利用二叉树的后序遍历来反转即可/** * Definition for a binary tree no

2021-04-20 12:46:10 133

原创 Leetcode easy 217. 存在重复元素

给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true**思路:**该题较为简单,先将数组排序,设置前后双指针遍历数组,若两个指针的数值相同则返回true;int cmp(const void *a, const

2021-04-17 22:24:42 124

原创 Leetcode easy 206. 反转链表

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL**思路:**考研复习时经常写的数据结构题。(以前写的是带有空的头节点)先把头节点独立出来,再把后续节点依次插入头节点的前面同时更新头节点。/** * Definition for singly-linked list. * struct ListNode { * int val; * struct

2021-04-17 09:13:00 110

原创 Leetcode easy 205. 同构字符串

给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = “egg”, t = “add”输出:true示例 2:输入:s = “foo”, t = “bar”输出:false示例 3:输入:s = “paper”, t = “title”输出:t

2021-04-16 14:45:24 114

原创 Leetcode easy 204. 计数质数

统计所有小于非负整数 n 的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0提示:0 <= n <= 5 * 106**思路:**第一次用了暴力解,直接给一手超时。。然后了解了厄拉多塞筛法:1、利用一个数表记录质数,初始全为1;2、从2开始遍历到n-1,若数表显示为1,则cnt++并把这个数到n的所有倍数在数表中设为0(关键

2021-04-15 15:33:15 109

原创 Leetcode easy 202. 快乐数

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

2021-04-13 16:06:20 158

原创 Leetcode easy 171. Excel表列序号

给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28示例 3:输入: “ZY”输出: 701来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/excel-sheet-column-number著作权归领扣

2021-04-12 16:44:51 116

空空如也

空空如也

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

TA关注的人

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