string
Lc_summer
这个作者很懒,什么都没留下…
展开
-
分步法旋转字符串
左旋转字符串 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = “abcdefg”, k = 2 输出: “cdefgab” 示例 2: 输入: s = “lrloseumgh”, k = 6 输出: “umghlrlose” 思路 1.先将整个字符串反转 2.接着反转前 size-n 字符 3.最后反转后 n 个字符原创 2021-02-27 16:19:38 · 62 阅读 · 0 评论 -
分步求解单词反转问题
反转字符串里的每个单词 给定一个字符串,逐个翻转字符串中的每个单词。 说明: 无空格字符构成一个 单词 。输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 1: 输入:“the sky is blue” 输出:“blue is sky the” 示例 2: 输入:" hello world! " 输出:“world! hello” 解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例原创 2021-02-27 16:18:59 · 75 阅读 · 0 评论 -
双指针替换空格
替换空格 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = “We are happy.” 输出:“We%20are%20happy.” 思路 计算空格数,将原数组的长度扩大到size+count*2,双指针从后往前遍历,一个指向原数组,一个指向替换空格后的数组,,当指针相遇则替换完成 string replaceSpace(string s){ int count = 0; for(auto c : s){ if(c == ' ') ++count;原创 2021-02-27 16:18:29 · 191 阅读 · 0 评论 -
双指针反转字符串
反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:[“h”,“e”,“l”,“l”,“o”] 输出:[“o”,“l”,“l”,“e”,“h”] 示例 2: 输入:[“H”,“a”,“n”,“n”,“a”,“h”] 输出:[“h”,“a”,“n”,“n”,“a”,“H”]原创 2021-02-27 16:17:56 · 161 阅读 · 0 评论 -
每次反转2K个字符中的前k个字符
反转字符串 给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例: 输入: s = “abcdefg”, k = 2 输出: “bacdfeg” 思路 每次迭代2*k个字符,如果剩余的字符少于k则将其全部反转,否则反转前k个 string reverseStr(string s, int k){ int len原创 2021-02-27 16:16:28 · 208 阅读 · 0 评论