-
RainNight
2022-01-17
求知=>算法
1181°
## 删除链表中的节点
---
请编写一个函数,用于 **删除单链表中某个特定节点** 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 **要被删除的节点** 。
题目数据保证需要删除的节点 **不是末尾节点** 。
**示例 1:**

> 输入:head = [4,5,1,9], node = 5
> 输出:[4,1,9]
> 解释:指定链表
-
RainNight
2022-01-15
求知=>算法
1150°
## 最长公共前缀
---
编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 `“”`。
示例 1:
> 输入:strs = [“flower”,”flow”,”flight”]
> 输出:”fl”
示例 2:
> 输入:strs = [“dog”,”racecar”,”car”]
> 输出:””
> 解释:输入不存在公共前缀。
提示:
* `1 <= strs.length <= 200`
* `0 <= strs[I].length <= 200`
* `st
-
RainNight
2022-01-15
求知=>算法
1063°
## 外观数列
---
给定一个正整数 `n `,输出外观数列的第 `n` 项。
「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。
你可以将其视作是由递归公式定义的数字字符串序列:
* `countAndSay(1) = “1”`
* `countAndSay(n)` 是对 `countAndSay(n-1)` 的描述,然后转换成另一个数字字符串。
前五项如下:
> 1.
1
> 2.
11
> 3.
21
> 4.
1211
> 5.
111221
> 第一项是
-
RainNight
2022-01-15
求知=>算法
1071°
## 实现 strStr()
---
实现 `strStr()`函数。
给你两个字符串`haystack` 和 `needle` ,请你在 `haystack` 字符串中找出 `needle` 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回`-1` 。
**说明:**
当 `needle` 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
对于本题而言,当 `needle` 是空字符串时我们应当返回 0 。这与 C 语言的`strstr()`以及 Java 的 `
-
RainNight
2022-01-11
求知=>算法
1014°
## 字符串转换整数 (atoi)
---
请你来实现一个`myAtoi(string s)`函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。
函数`myAtoi(string s)` 的算法如下:
* 读入字符串并丢弃无用的前导空格
* 检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。
* 读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余
-
RainNight
2022-01-10
求知=>算法
1003°
## 验证回文串
---
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
**说明:**本题中,我们将空字符串定义为有效的回文串。
**示例 1:**
> 输入: “A man, a plan, a canal: Panama”
> 输出: true
> 解释:”amanaplanacanalpanama” 是回文串
**示例 2:**
> 输入: “race a car”
> 输出: false
> 解释:”raceacar” 不是回文串
**提示:**
*
-
RainNight
2022-01-9
求知=>算法
1051°
## 有效的字母异位词
---
给定两个字符串 `s` 和 `t` ,编写一个函数来判断 `t` 是否是 `s`的字母异位词。
注意:若 `s` 和 `t`中每个字符出现的次数都相同,则称 `s` 和 `t`互为字母异位词。
示例 1:
---
> 输入: s = “anagram”, t = “nagaram”
> 输出: true
示例 2:
---
> 输入: s = “rat”, t = “car”
> 输出: false
提示:
---
* `1 <= s.length, t.leng
-
RainNight
2022-01-8
求知=>算法
991°
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
提示:
---
> 你可以假定该字符串只包含小写字母。
## 解题思路
---
1. 统计字符串出现的次数的方式
* 定义字符串s;
* 将字符串转换成list集合并定义为list_s;
* 获取集合的长度,定义为l;
* 遍历数据统计每个字符串出现的次数,如果出现的次数等于1就把第一个数据下标返回,没有就返回-1。
```py
# s = "leetcode"
s = "loveleetcode"
list
-
RainNight
2022-01-6
求知=>算法
1046°
## 整数反转
---
给你一个 32 位的有符号整数`x` ,返回将 `x` 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 `[−231,
231 − 1]` ,就返回 0。
**假设环境不允许存储 64 位整数(有符号或无符号)。**
示例 1:
---
> 输入:x = 123
> 输出:321
示例 2:
---
> 输入:x = -123
> 输出:-321
示例 3:
---
> 输入:x = 120
> 输出:21
示例 4:
---
> 输入:x =
-
RainNight
2022-01-5
求知=>算法
1028°
## 反转字符串
---
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你`必须修改输入数组原地`、使用 `O(1)` 的额外空间解决这一问题。
示例 1:
---
> 输入:s = [“h”,”e”,”l”,”l”,”o”]
> 输出:[“o”,”l”,”l”,”e”,”h”]
示例 2:
---
> 输入:s = [“H”,”a”,”n”,”n”,”a”,”h”]
> 输出:[“h”,”a”,”n”,”n”,”a”,”H
-
RainNight
2022-01-5
求知=>算法
1037°
## 旋转图像
---
给定一个 `n×n` 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。
示例 1:
---

```
输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:[[7,4,1],[8,5,2],[9,6,3]
-
RainNight
2022-01-5
求知=>算法
1028°
## 有效的数独
---
请你判断一个`9 x 9` 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。
数字`1-9`在每一行只能出现一次。
数字`1-9`在每一列只能出现一次。
数字`1-9`在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)
注意:
---
* 一个有效的数独(部分已被填充)不一定是可解的。
* 只需要根据以上规则,验证已经填入的数字是否有效即可。
* 空白格用 `’.’` 表示。
示例 1:
---
![file](/static/u