![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字符串
文章平均质量分 70
字符串类型算法的思考
Monkey Run
这个作者很懒,什么都没留下…
展开
-
415. 字符串相加
题目:给定两个字符串形式的非负整数num1和num2,计算它们的和并同样以字符串形式返回。你不能使用任何内建的用于处理大整数的库(比如BigInteger),也不能直接将输入的字符串转换为整数形式。示例1:输入:num1 = "11",num2 = "123"输出:“134”示例2:输入:num1 = "456",num2 = "77"输出:“533”示例3:输入:num1 = "0",num2 = "0"输出:“0”提示:1 <= num1.leng.原创 2021-11-04 16:11:02 · 164 阅读 · 0 评论 -
49. 字母异位词分组
题目:给你一个字符串数组,请你将字母异位词组合在一起。可以按任意顺序返回结果列表。字母异位词是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。示例1:输入:strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[["bat"], ["nat", "tan"], ["ate", "eat", "tea"]]示例2:输入:strs = [""]输出:[[""]]示例3:输入:strs = ["a"].原创 2021-11-03 16:03:36 · 116 阅读 · 0 评论 -
68. 文本左右对齐
题目:给定一个单词数组和一个长度maxWidth,重新排版单词,使其成为每行恰好有maxWidth个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词:也就是说,尽可能多地往每行中放置单词。必要时可用空格填充,使得每行恰好有maxWidth个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的最后一行应为左对齐,且单词之间不插入额外的空格。说明:单词是指由非空格字符组成的字符序列。 每个单词的长度大.原创 2021-11-02 21:11:00 · 84 阅读 · 0 评论 -
1249. 移除无效的括号
题目:给你一个由"("、“)”和小写字母组成的字符串s。你需要从字符串中删除最少数目的“(”或者“)”(可以删除任意位置的括号)。使得剩下的[括号字符串]有效。请返回任意一个合法字符串。有效[括号字符串]应当符合以下任意一条要求:空字符串或只包含小写字母的字符串 可以被写作AB(A连接B)的字符串,其中A和B都是有效[括号字符串] 可以被写作(A)的字符串,其中A是一个有效的[括号字符串]示例1:输入:s = "lee(t(c)o)de)"输出:“lee(t(c)o)de”.原创 2021-10-31 14:14:16 · 226 阅读 · 0 评论 -
22. 括号生成
题目:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。有效括号组合需满足:左括号必须以正确的顺序闭合。示例1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n = 1输出:["()"]提示:1 <= n <= 81. 思考生成所有可能且有效的括号组合,首先想到可以采用递归,在前一个结果的基础上,加一个括号。当知道f(n - 1)括号..原创 2021-10-26 10:04:08 · 93 阅读 · 0 评论 -
20. 有效的括号
题目:给定一个只包含‘(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:1. 左括号必须用相同类型的右括号闭合。2. 左括号必须以正确的顺序闭合。示例1:输入:s = "()"输出:true示例2:输入:s = “()[]{}”输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:true提示.原创 2021-10-23 17:03:51 · 62 阅读 · 0 评论 -
273. 整数转换英文表示
题目:将非负整数num转换为其对应的英文表示。示例1:输入:num = 123输出:“One Hundred Twenty Three”示例2:输入:num = 12345输出:“Twelve Thousand Three Hundred Forty Five”示例3:输入:num = 1234567输出:“One Million Two Hundred Thirty Four Thousand Five Hundred Sixty Seven”示例4:输入:n.原创 2021-10-22 09:47:01 · 308 阅读 · 0 评论 -
3. 无重复字符的最长子串
题目:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s = "abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s = "bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。示例3:输入:s = "pwwkew"输出:3解释:因为无重复字符的最长子串是"wke",所以长度为3。示例4:输入:s = ""输出:01. 思考解决思路很简..原创 2021-10-19 21:28:53 · 165 阅读 · 0 评论 -
937. 重新排列日志文件
题目:给你一个日志数组logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的标识符。有两种不同类型的日志:字母日志:除标识符之外,所有字均由小写字母组成 数字日志:除标识符之外,所有字均由数字组成请按下述规则将日志重新排序:所有字母日志都排在数字日志之前。 字母日志在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序。 数字日志应该保留原来的相对顺序。返回日志的最终顺序。示例1:输入:logs = ["dig1 8 1 5 1", "let.原创 2021-10-18 15:56:14 · 106 阅读 · 0 评论 -
5. 最长回文子串
题目:给你一个字符串s,找到s中最长的回文子串。示例1:输入:s = "babad"输出:"bab"解释:"aba"同样是符合题意的答案。示例2:输入:s = "cbbd"输出:"bb"示例3:输入:s = "a"输出:"a"示例4:输入:s = "ac"输出:"a"1. 思考首先考虑回文串的特性,即正、反两个方向读都一致,比如ABBA、ABA。回文串有个特性,对于长度大于2的回文串,比如ABCBA,去掉首尾字符后,剩下的字符仍构成回文串..原创 2021-10-17 15:01:18 · 99 阅读 · 0 评论 -
面试题01.05. 一次编辑
题目:字符串有三种编辑操作,插入一个字符、删除一个字符或者替换一个字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。示例1:输入:first = "pale"second = "ple"输出:True示例2:输入:first = "pales"second = "pal"输出:False1. 思考先分析允许进行的操作:1. 插入一个字符:当两个字符串长度只相差1的时候可能满足,稍短的字符串将某个字符往后的字符数组平移一位后,剩..原创 2021-10-15 16:47:34 · 230 阅读 · 0 评论 -
面试题01.04. 回文排列
题目:给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。示例1:输入:"tactcoa"输出:true(排列有"tacocat"、"atcocta"等等)1. 思考判断一个字符串是否是回文串的排列之一,可以先思考回文串的特性:回文串就是正,反两个方向读都一致的字符串,比如ABBA、ABCBA。可以发现:1. 偶数个字符,所有字符出现偶数次,即没有字符出现奇..原创 2021-10-14 09:50:19 · 170 阅读 · 0 评论 -
面试题01.01. 判定字符是否唯一
题目:实现一个算法,确定一个字符串s的所有字符是否全都不同。示例1:输入:s = "leetcode"输出:false示例2:输入:s = “abc”输出:true限制:0 <= len(s) <= 100 如果你不使用额外的数据结构,会很加分1. 思考判断一个集合中(该题中字符串相当于字符的集合)是否所有元素都不相同,首先想到一个快速校验方案:该集合中元素个数是否超过了元素种类个数?如果超过了元素种类个数,那么直接有结论,该集合中元素必定存在重复..原创 2021-10-12 10:21:14 · 155 阅读 · 0 评论