541. 反转字符串 II 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-string-ii 著作权归领扣网络所有.商业转载请联系官方授权,非商业转载请注明出处. 题目描述 给定一个字符串 s 和一个整数 k,从字符串开头算起,每 2k 个字符反转前 k 个字符. 如果剩余字符少于 k 个,则将剩余字符全部反转. 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样. 示例 1:…
Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片开始的位置,第二个数(冒号之后)表示切片到哪里结束,第三个数(冒号之后)表示切片间隔数.如果不指定第一个数,Python就从序列首开始.如果没有指定第二个数,则Python会停止在序列尾.注意,返回的序列从开始位置开始 ,刚好在结束位置之前结束.即开始位置是包含在序列切片中的,而结束位置被排斥在切片外. 这样…
1. 将String转换成字符数组,再利用字符数组进行首尾调换. 2. 利用递归的方式,主要是:reverse(str.substring(1)) + str.charAt(0); 3. 虽然String类没有反转字符串的方法,但是StringBuffer有这个方法,可以借助StringBuffer的这个方法:sb.reverse(); 4. 借助StringBuffer的其他方法,比如:sb.setCharAt(swapIndex,sb.charAt(i)); 再比如:append方法. 5.…
原题 1 class Solution: 2 def reverseStr(self, s: str, k: int) -> str: 3 begin,lens,ans = 0,len(s),'' 4 while begin < lens: 5 mid = begin + k 6 if mid >= lens: 7 ans += s[begin:][::-1] 8 else: 9 ans += s[begin:mid][::-1]+s[mid:mid+k] 10 begin += 2 *…
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 注意事项:您可以假定该字符串只包含小写字母. 这题的思想还是比较简单明了的,通过hashmap记录所有的键值对应关系,即字符出现的次数,然后再回过头循环一遍来判断出现的次数是否符合题意. 要循环两次,空间和时间上都差强人意,但是是比较清晰的办法. 而且通过评论区的提醒,当字符串足…
简单的字符串模式匹配算法,可使用KMP进行优化 /** * @param s1 母串 * @param s2 子串 * @return */ public static int myIndexOf(String str1,String str2) { int pos=-1; int index=0; char [] s1= str1.toCharArray(); char [] s2= str2.toCharArray(); if(str2.length()>str1.length() || s…
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" 输出: 5 题目描述比较不清楚,这里只要是用空格隔开的一律当作字符,包括非字母.使用JAVA自带库函数解决问题.记得忽略空格情况 当然这里使用了较大的内存保存分割后的ss字符串数组,如果对内存比较敏感的可以对字符串手动以空格划分.(这里空格可能多个,所以可以使用正则表达式较为方便去匹配) 代码如下: cl…
题目 [题目传送门] 给定一个二进制数组, 计算其中最大连续1的个数. 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组只包含 0 和1. 输入数组的长度是正整数,且不超过 10,000. 来源:力扣(LeetCode) 解题 简单题我重拳出击:> 分析 题目给出了二进制数组,不是0就是1 题目中有连续要求所以对于对于1则是叠加次数,遇上0则是要求需要进行重置当前的计数,二最后返回是要求最大的连…
541. 反转字符串 II 给定一个字符串和一个整数 k,你需要对从字符串开头算起的每个 2k 个字符的前k个字符进行反转.如果剩余少于 k 个字符,则将剩余的所有全部反转.如果有小于 2k 但大于或等于 k 个字符,则反转前 k 个字符,并将剩余的字符保持原样. 示例: 输入: s = "abcdefg", k = 2 输出: "bacdfeg" 要求: 该字符串只包含小写的英文字母. 给定字符串的长度和 k 在[1, 10000]范围内. PS: 暴力 欢迎评论…
重复 N 次的元素 1.题目描述 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次. 返回重复了 N 次的那个元素. 示例 1: 输入:[1,2,3,3] 输出:3 示例 2: 输入:[2,1,2,5,3,2] 输出:2 示例 3: 输入:[5,1,5,2,5,3,5,4] 输出:5 提示: 4 <= A.length <= 10000 0 <= A[i] < 10000 A.length 为偶数 2.解题思路 跟着题目思路走,我是超时了下面是我…