刷题——String
想当厨子的程序媛
前期追深度,否则会华而不实,后期追广度,否则会坐井观天;
展开
-
【String-easy】709. To Lower Case 将字符串变小写
1. 题目原址https://leetcode.com/problems/to-lower-case/2. 题目描述3. 题目大意给定一个字符串,将这个字符串的所有字符变成小写4. 解题思路签到题5. AC代码class Solution { public String toLowerCase(String str) { StringBuilder sb ...原创 2019-05-30 10:06:52 · 179 阅读 · 0 评论 -
【String-easy】448. Find All Numbers Disappeared in an Array 找到给定的数组中缺少的元素。
1. 题目原址https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/2. 题目描述3. 题目大意给定一个数组,长度就是数组的长度,数组中的值应该是从 1 到(数组长度 - 1)的值,但是给定的数组中有些元素出现了一次,有些元素出现了多次,这就导致有些元素没有出现,那么找出数组中缺少的元素。4. 解题...原创 2019-06-17 13:25:34 · 180 阅读 · 0 评论 -
【String-easy】485. Max Consecutive Ones 返回最多有多少个连续的1
1. 题目原址https://leetcode.com/problems/max-consecutive-ones/2. 题目描述3. 题目大意给定一个一维数组,返回数组中连续1 的个数,返回最长的连续1的个数4. 解题思路定义两个变量,一个是当前连续1的个数local,一个是返回的最长的连续1的个数retMax5. AC代码class Solution { public...原创 2019-06-18 10:01:13 · 140 阅读 · 0 评论 -
【String-easy】520. Detect Capital 检查是否是Capital
1. 题目原址https://leetcode.com/problems/detect-capital/2. 题目描述3. 题目大意给定一个字符串,判断字符串是否是Capital。Capital的规则如下:所有字母都是大写字母,是Capital所有字母都是小写字母,是Capital只有首字母是大写字母其余是小写字母,是Capital4. 解题思路首先定义一个标识符,标志当前...原创 2019-06-18 10:28:45 · 187 阅读 · 0 评论 -
【String-easy】521. Longest Uncommon Subsequence I 最长非公共子串
1. 题目原址https://leetcode.com/problems/longest-uncommon-subsequence-i/2. 题目描述3. 题目大意给两个字符串,最长非公共子序列是指其中一个字符串的子序列而不是另一个字符串的子序列。4. 解题思路如果两个字符相同,就返回 -1, 如果不相同,则返回字符串长度大的那个字符串的长度即可5. AC代码class Solu...原创 2019-06-18 10:40:31 · 211 阅读 · 0 评论 -
【String-easy】541. Reverse String II 反转的元素,有反转个数和间隔
1. 题目原址https://leetcode.com/problems/reverse-string-ii/2. 题目描述3. 题目大意给定一个字符串,和字符串的间隔k, 这个k表示每k个数反转一次,然后再间隔k个元素再反转k个元素。4. 解题思路只要按照间隔去反转就可以了。然后间隔k个元素不反转是通过让i每次递增 2*k完成的。5. AC代码class Solution {...原创 2019-06-18 10:50:37 · 124 阅读 · 0 评论 -
【String-easy】551. Student Attendance Record I 学生迟到和旷课
1. 题目原址https://leetcode.com/problems/student-attendance-record-i/2. 题目描述3. 题目大意给定一个字符串,包含三类字母:A、L、P,如果超过2个A或者连续有三个以上的L出现,那么就返回false,否则返回true4. 解题思路使用两个变量来记录L和A字符出现的次数,如果超过给定的次数就返回false。5. AC代码...原创 2019-06-18 11:05:55 · 202 阅读 · 0 评论 -
【String-easy】557. Reverse Words in a String III 反转字符串中的单词
1. 题目原址https://leetcode.com/problems/reverse-words-in-a-string-iii/2. 题目描述3. 题目大意给定一个字符串,反转字符串中的所有单词4. 解题思路使用String 的 indexOf方法来找到空格的位置。需要注意,最后一个单词后面没有空格,所以需要单独处理最后一个单词。或者如果整个字符串只有一个单词的时候也是这样处...原创 2019-06-18 11:14:34 · 203 阅读 · 0 评论 -
【String-easy】657. Robot Return to Origin 机器人能否回到原点
1. 题目原址https://leetcode.com/problems/robot-return-to-origin/2. 题目描述3. 题目大意给定一个字符串,字符串中的字符只有4种值,分别是’L’、‘R’、‘U’、‘D’,问给定的机器人能否回到原点,其中L表示往左走,R表示往右走,U表示往上走,D表示往下走。4. 解题思路签到题因为L和R是相互抵消,U和D是相互抵消,所以我们...原创 2019-06-23 16:57:20 · 264 阅读 · 0 评论 -
【String-easy】686. Repeated String Match 让A重复多少次可以让B变为A的子串
1. 题目原址https://leetcode.com/problems/repeated-string-match/2. 题目描述3. 题目大意给定两个字符串,A和B,让A重复多少次可以让B变为A的子串。4. 解题思路首先计算B的长度是A字符串的长度的多少倍count,倍数count(即B的长度不能完全整除A),则将count++然后定义一个StringBuilder类型的变量...原创 2019-06-23 17:43:08 · 321 阅读 · 0 评论 -
【String-easy】709. To Lower Case 将给定的字符串大写字母都变为小写字母
1. 题目原址https://leetcode.com/problems/to-lower-case/2. 题目描述3. 题目大意签到题将给定的字符串大写字母都变为小写字母4. 解题思路使用StringBuilder类型的变量在增加字符,将字符按照是否是小写字母放到StringBuilder类型变量种,如果不是小写字母就变为小写字母再添加。5. AC代码class Soluti...原创 2019-06-23 17:50:14 · 258 阅读 · 0 评论 -
【String-easy】804. Unique Morse Code Words 摩斯代码
1. 题目原址https://leetcode.com/problems/unique-morse-code-words/2. 题目描述3. 题目大意给定摩斯电码的密码,这个密码对应的是26个小写字母,给定一个字符串数组,问这个数组按照摩斯代码转换,能有多少个不同的摩斯代码转换结果。4. 解题思路将摩斯代码放到一个26位的字符串数组中,再定义一个HashSet类型的变量,用来存储返...原创 2019-06-23 18:04:53 · 210 阅读 · 0 评论 -
【String-easy】824. Goat Latin 按照一定规则更改给定的字符串
1. 题目原址https://leetcode.com/problems/goat-latin/2. 题目描述3. 题目大意给定一个字符串,转换为Goat Latin格式,转换的规则如下:如果单词以元音开头,直接在单词后面添加 ma 即可。如果单词不以元音开头,先将第一个字母移到单词后面,添加 ma。从第一个单词开始,每个单词都加上若干个 a 的后缀,第一个单词加“a",第二个单...原创 2019-06-23 18:58:36 · 257 阅读 · 0 评论 -
【String-easy】 434. Number of Segments in a String 返回给定字符串有多少个单词。单词是由空格分割的
1. 题目原址https://leetcode.com/problems/number-of-segments-in-a-string/2. 题目描述3. 题目大意返回给定字符串有多少个单词。单词是由空格分割的。4. 解题思路签到题5. AC代码class Solution { public int countSegments(String s) { ...原创 2019-06-17 13:06:55 · 159 阅读 · 0 评论 -
【String-mdium】916. Word Subsets 如果字符串b中每个字符的出现次数都小于等于该字符在a中的出现次数,则称b是a的子集。
1. 题目原址https://leetcode.com/problems/word-subsets/2. 题目描述3. 题目大意给定一个字符串数组A,和一个匹配的字符串数组B,如果字符串B中每个字符的出现次数都<=该字符在A中的出现次数,则称B是A的子集。4. 解题思路首先将每个字符串都转换为对应的26位长度的整型数组,原字符代表整型数组的下标,原字符的频率代表整型数组的值。...原创 2019-06-17 12:44:36 · 277 阅读 · 0 评论 -
【String-easy】415. Add Strings两个字符串对应位置相加(大数相加)
1. 题目原址https://leetcode.com/problems/add-strings/2. 题目描述3. 题目大意给定两个字符串,将字符串对应位置相加,然后返回成字符串4. 解题思路从后往前遍历。然后使用StringBuilder类型的变量来存储每一位的相加结果,5. AC代码class Solution { public String addStrings(...原创 2019-06-13 17:29:24 · 315 阅读 · 0 评论 -
【String-easy】14. Longest Common Prefix 找到给定字符串数组的最长公共前缀
1. 题目原址https://leetcode.com/problems/longest-common-prefix/2. 题目描述3. 题目大意给定字符串数组,找到所有数组的最长公共前缀4. 解题思路这个题可以再做一遍5. AC代码class Solution { public String longestCommonPrefix(String[] strs) { ...原创 2019-06-14 14:57:45 · 117 阅读 · 0 评论 -
【String-easy】443. String Compression将重复的字符变成重复的频率
1. 题目原址https://leetcode.com/problems/string-compression/2. 题目描述3. 题目大意给定一个字符数组,将重复元素只显示一次,剩下的显示该重复字符出现的频率。4. 解题思路使用一个变量count来计数,记录相同元素出现的频率。使用一个变量retIndex来记录真实的字符下标。在for循环里面,判断如果当前遍历的位置不是字符数组...原创 2019-06-14 15:51:58 · 196 阅读 · 0 评论 -
【String-easy】58. Length of Last Word 最后一个单词的长度
1. 题目原址https://leetcode.com/problems/length-of-last-word/2. 题目描述3. 题目大意给定一个字符串,返回这个字符串中最后一个单词的长度4. 解题思路首先判断字符串的长度和是否为空使用内置方法 trim来去掉空格。使用lastIndexOf方法来找到最后一个单词的下标位置。如果找到的下标位置不为 - 1 就说明找到了最...原创 2019-06-14 16:00:20 · 144 阅读 · 0 评论 -
【String-easy】125. Valid Palindrome 串是否是回文字符串
1. 题目原址https://leetcode.com/problems/valid-palindrome/2. 题目描述3. 题目大意给定一个字符串,判断这个字符串是否是回文字符串4. 解题思路因为字符串中存在空格等,所以我们需要将字符串的空格去掉,去掉的方法就是新定义一个字符数组,将原字符数组中的元素放到新的字符数组中,将空格的元素去掉,不加到新的字符数组中。因此需要使用一个i...原创 2019-06-14 16:10:15 · 264 阅读 · 0 评论 -
【String-easy】680. Valid Palindrome II 可以删除一个元素使得字符串是回文串
1. 题目原址https://leetcode.com/problems/valid-palindrome-ii/2. 题目描述3. 题目大意给一个非空的字符串,你可以删除最多一个字符,判断之后这个字符串是否是回文串。4. 解题思路使用递归的方式解题首先我们将给定的字符串,字符串左边的下标,右边的下标,当前已经删除了多少元素和允许删除多少个元素 作为参数放到方法中。在方法里,...原创 2019-06-14 16:23:06 · 356 阅读 · 0 评论 -
【String-easy】169. Majority Element 数组中出现次数大于元素总数一半的元素值
1. 题目原址https://leetcode.com/problems/majority-element/2. 题目描述3. 题目大意给定一个一维数组,返回数组中出现次数大于元素总数一半的元素值4. 解题思路不需要排序,如果当前元素和前面的元素不一样,就将count–, 如果一样,就将count++。5. AC代码class Solution { public int ...原创 2019-06-15 21:24:06 · 162 阅读 · 0 评论 -
【String-medium】229. Majority Element II 所有出现的频率大于等于总数组元素三分之一的元素
1. 题目原址https://leetcode.com/problems/majority-element-ii/2. 题目描述3. 题目大意给定一个数组,找到数组中所有出现的频率大于等于总数组元素三分之一的元素4. 解题思路因为要找的元素是频率大于总数组元素三分之一的元素,所以整个数组里面最多有两个这样的元素,因此我们只需要定义两个变量来存储这样的数据即可。定义一类变量存储对应...原创 2019-06-15 21:49:04 · 192 阅读 · 0 评论 -
【String-easy】344. Reverse String 反转字符
1. 题目原址https://leetcode.com/problems/reverse-string/2. 题目描述3. 题目大意给定一个字符数组,反转字符数组中的元素4. 解题思路签到题两个指针5. AC代码class Solution { public void reverseString(char[] s) { public String rev...原创 2019-06-15 22:28:16 · 189 阅读 · 0 评论 -
【String-easy】383. Ransom Note 勒索信
1. 题目原址https://leetcode.com/problems/ransom-note/2. 题目描述3. 题目大意勒索信:从杂志上搜索各个需要的字母,组成单词来表达意思。判断杂志上的字母能否组成勒索信需要的那些字母4. 解题思路将勒索信的字符放到 26 长度的整型数组中,包含这个字符就将对应位置的值 + 1,从杂志中对应的字符对应位置的值 - 1最后判断如果整型字符中...原创 2019-06-17 11:04:41 · 168 阅读 · 0 评论 -
【String-medium】 791. Custom Sort String 给你字符的顺序,让你排序另一个字符串
1. 题目原址https://leetcode.com/problems/custom-sort-string/2. 题目描述3. 题目大意给你字符的顺序,让你排序另一个字符串S是给定的已知字符的顺序,T 是排序的另一个字符串4. 解题思路将给定需要排序的字符串放到26位的整型数组中。先使用已知字符顺序的字符串来添加到返回的StringBulder变量中。5. AC代码c...原创 2019-06-17 11:36:29 · 127 阅读 · 0 评论 -
【String-easy】893. Groups of Special-Equivalent Strings 奇数位置字母相同(顺序可以不同),偶数位置字母相同(顺序可以不同)
1. 题目原址https://leetcode.com/problems/groups-of-special-equivalent-strings/2. 题目描述3. 题目大意给定一个字符串数组,要求判断其是否是special-equivalent stringspecial-equivalent string 是指:奇数位置字母相同(顺序可以不同),偶数位置字母相同(顺序可以不同)。...原创 2019-06-17 12:28:58 · 136 阅读 · 0 评论 -
【List-medium】24. Swap Nodes in Pairs 交换链表中相邻两个元素的位置
1. 题目原址https://leetcode.com/problems/swap-nodes-in-pairs/2. 题目描述3. 题目大意给定一个链表,交换链表中相邻两个元素的位置。即相邻的元素都要交换位置4. 解题思路定义一个ListNode节点作为头节点,然后用这个头节点连接给定链表的头。再定义两个ListNode节点,用来作为临时变量交换链表中的相邻两个节点。5. ...原创 2019-06-23 19:14:55 · 367 阅读 · 0 评论