跳至主要內容
763, 划分字母区间

一、题目描述

给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。

注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。

返回一个表示每个字符串片段的长度的列表。

示例 1
输入: s = "ababcbacadefegdehijhklij"
输出: [9, 7, 8]
解释:
划分结果为"ababcbaca""defegde""hijhklij"
每个字母最多出现在一个片段中。
"ababcbacadefegde", "hijhklij"这样的划分是错误的,因为划分的片段数较少。


Mike大约 1 分钟greedymediumgreedytwo pointershash tablestring
93, 复原IP地址

一、题目描述

有效IP地址正好由四个整数(每个整数位于0255之间组成,且不能含有前导0),整数之间用'.'分隔。

  • 例如:"0.1.2.201""192.168.1.1"有效IP地址,但是"0.011.255.245""192.168.1.312""192.168@1.1"无效IP地址。

Mike大约 1 分钟backtrackingmediumstringbacktracking
131, 分割回文串

一、题目描述

给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。

回文串是正着读和反着读都一样的字符串。

示例 1
输入: s = "aab"
输出: [["a", "a", "b"],["aa", "b"]]

示例 2
输入: s = "a"
输出: [["a"]]


Mike大约 2 分钟backtrackingmediumstringdynamic programmingbacktracking
17, 电话号码的字母组合

一、题目描述

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。

给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。

示例 1
输入: digits = "23"
输出: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]


Mike大约 1 分钟Backtrackingmediumhash tablestringbacktracking
257, 二叉树的所有路径

一、题目描述

给你一个二叉树的根节点root,按任意顺序返回所有从根节点到叶子节点的路径。

叶子节点是指没有子节点的节点。

示例 1

输入: root = [1, 2, 3, null, 5]
输出: ["1->2->5", "1->3"]

示例 2
输入: root = [1]
输出: ["1"]


Mike大约 3 分钟binary treeeasystringbacktrackingdepth first searchbinary tree
1047, 删除字符串中的所有相邻重复项

一、题目描述

给出由小写字母组成的字符串S重复项删除操作会选择两个相邻且相同的字母,并删除它们。

S上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

示例 1
输入: "abbaca"
输出: "ca"
解释: 在"abbaca"中,我们可以删除"bb"由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串"aaca",其中又只有"aa"可以执行重复项删除操作,所以最后的字符串为"ca"


Mike大约 2 分钟stack/queueeasystringstack
20, 有效的括号

一、题目描述

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1
输入: s = "()"
输出: true


Mike大约 1 分钟stack/queueeasystringstack
459, 重复的子字符串

一、题目描述

给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。

示例 1
输入: s = "abab"
输出: true
解释: 可由子串"ab"重复两次构成。

示例 2
输入: s = "aba"
输出: false

示例 3
输入: s = "abcabcabcabc"
输出: true
解释: 可由子串"abc"重复四次构成。(或子串"abcabc"重复两次构成。)


Mike大约 2 分钟stringeasystringstring matching
28, 找出字符串中第一个匹配项的下标

一、题目描述

给你两个字符串haystackneedle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回 -1

示例 1
输入: haystack = "sadbutsad", needle = "sad"
输出: 0
解释: "sad"在下标06处匹配。第一个匹配项的下标是0,所以返回0


Mike大约 2 分钟stringeasystringstring matchingtwo pointers
卡码网-55, 右旋字符串

一、题目描述

字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串s和一个正整数k,请编写一个函数,将字符串中的后面k个字符移到字符串的前面,实现字符串的右旋转操作。

例如,对于输入字符串"abcdefg"和整数2,函数应该将其转换为"fgabcde"

示例 1
输入: k = 2, s = "abcdefg"
输出: "fgabcde"


Mike大约 2 分钟stringeasystring
2
3