344
class Solution {
public void reverseString(char[] s) {
int l = 0;
int r = s.length -1;
while(l<r){
char temp = s[l];
s[l] = s[r];
s[r] = temp;
l++;
r--;
}
}
}
541
class Solution {
public String reverseStr(String s, int k) {
char[] ch = s.toCharArray();
for(int i = 0; i < ch.length ;i += 2 *k){
int start = i;
int end = Math.min(ch.length -1 ,start + k -1);
while(start < end){
char temp =ch[start];
ch[start] = ch[end];
ch[end] = temp;
start++;
end--;
}
}
return new String(ch);
}
}
剑指Offer 05
class Solution {
public String replaceSpace(String s) {
if(s ==null || s.length() == 0){
return s;
}
StringBuilder str = new StringBuilder();
for(int i =0; i <s.length();i++){
if(s.charAt(i) == ' '){
str.append(" ");
}
}
if(str.length() == 0)
return s;
int left = s.length() - 1;
s += str.toString();
int right = s.length()-1;
char[] chars = s.toCharArray();
while(left>=0){
if(chars[left] == ' '){
chars[right--] = '0';
chars[right--] = '2';
chars[right] = '%';
}else{
chars[right] = chars[left];
}
left--;
right--;
}
return new String(chars);
}
}