JinFei's Blog

Thinking will not overcome fear but action will.

[LeetCode]172. Factorial Trailing Zeroes

阶乘含有多少个0

题目描述 Given an integer n, return the number of trailing zeroes in n!. Example1: Input: 3 Output: 0 Explanation: 3! = 6, no trailing zero. Example2: Input: 5 Output:...

[LeetCode]2058. 找出临界点之间的最小和最大距离

最大距离

题目描述 链表中的 临界点 定义为一个 局部极大值点 或 局部极小值点 。 如果当前节点的值 严格大于 前一个节点和后一个节点,那么这个节点就是一个  局部极大值点 。 如果当前节点的值 严格小于 前一个节点和后一个节点,那么这个节点就是一个  局部极小值点 。 注意:节点只有在同时存在前一个节点和后一个节点的情况下,才能成为一个 局部极大值点 / 极小值点 。 给你一个链表...

[LeetCode]1315. 祖父节点值为偶数的节点和

偶数的节点和

题目描述 给你一棵二叉树,请你返回满足以下条件的所有节点的值之和: 该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。) 如果不存在祖父节点值为偶数的节点,那么返回 0 。 Example1: 输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5] 输出:18 解释:图中红色节点的祖父节点的值为...

[LeetCode]229. 求众数 II

众数

题目描述 给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 Example1: 输入:[3,2,3] 输出:[3] Example2: 输入:nums = [1] 输出:[1] Example3: 输入:[1,1,1,3,3,2,2,2] 输出:[1,2] Note: 1 <= nums.length <...

[LeetCode]97. 交错字符串

交错字符串

题目描述 给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。 两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串: s = s1 + s2 + … + sn t = t1 + t2 + … + tm |n - m| <= 1 交错 是 s1 + t1 + s2 + t2 + s3 + t...

[LeetCode]535. TinyURL 的加密与解密

加密解密

题目描述 TinyURL是一种URL简化服务, 比如:当你输入一个URL https://leetcode.com/problems/design-tinyurl 时,它将返回一个简化的URL http://tinyurl.com/4e9iAk. 要求:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需...

[LeetCode]1218. 最长定差子序列

定差子序列

题目描述 给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。 子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。 Example1: 输入:arr = [1,2,3,4], difference = 1 输出:...

[LeetCode]367. 有效的完全平方数

完全平方数

题目描述 给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 进阶:不要 使用任何内置的库函数,如  sqrt 。 Example1: 输入:num = 16 输出:true Example2: 输入:num = 14 输出:false Note: 1 <= num <= 2^...

[LeetCode]12. 整数转罗马数字

整数转罗马

题目描述 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ...

[LeetCode]剑指 Offer II 021. 删除链表的倒数第 n 个结点

删除链表节点

题目描述 给定一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 Example1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] Example2: 输入:head = [1], n = 1 输出:[] Example3: 输入:head = [1,2], n = 1 输出:[1] Note: ...