请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
遍历字符串,找到空格替换
字符串不能直接修改
遍历字符串:
//str.charAt(i) 是获取字符串中i+1位置的字符
for(int i=0;i < str.length();i++) {
System.out.println(str.charAt(i));
}
//str.substring(i,i+1) 截取父字符串的某一部分 左闭右开 从0开始
for(int i=0;i < str.length();i++) {
System.out.println(str.substring(i,i+1));
}
//toCharArray() 方法将字符串转换为字符数组。
char[] c = str.toCharArray();
for(int i=0;i < c.length;i++) {
System.out.println(c[i]);
}
添加:
Stringbuffer是动态字符串数组,append( )是往动态字符串数组添加,跟“xxxx”+“yyyy”相当‘+’号
class Solution {
public String replaceSpace(String s) {
//字符数组
char[] c = s.toCharArray();
StringBuffer ss=new StringBuffer();
for(int i=0;i < c.length;i++) {
if(c[i] == ' '){
ss.append("%20");
} else
ss.append(c[i]);
}
return ss.toString();
}
}
执行结果:
通过
显示详情
添加备注
执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:39.6 MB, 在所有 Java 提交中击败了12.97%的用户
通过测试用例:27 / 27
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
class Solution {
public String reverseLeftWords(String s, int n) {
char[] c = s.toCharArray();
StringBuffer s1=new StringBuffer();
StringBuffer s2=new StringBuffer();
for(int i=0;i<s.length();i++){
if(i<n){
s1.append(c[i]);
}else{
s2.append(c[i]);
}
}
return s2.append(s1).toString();
}
}
执行结果:
通过
显示详情
添加备注
执行用时:5 ms, 在所有 Java 提交中击败了25.75%的用户
内存消耗:41.3 MB, 在所有 Java 提交中击败了43.47%的用户
通过测试用例:34 / 34