1.Reverse String
- 题目描述
写一个函数,输入一字符串,返回一个字符串的逆转 - 解题思路
法一:使用StringBuffer.revrse()方法
public String reverseString(String s) {
if(s == null || s.length() <= 1)
return s;
StringBuffer sb = new StringBuffer(s);
return sb.reverse().toString();
}
法二:遍历字符串,交换首位和末尾,将字符串转换成char数组,每次交换首尾。
public String reverseString(String s) {
if(s == null || s.length() <= 1)
return s;
char str[] = s.toCharArray();
int begin = 0, end = s.length() - 1;
while(begin < end){
char var = str[begin];
str[begin] = str[end];
str[end] = var;
begin++;
end--;
}
return new String(str);
}
法三:用与操作交换首尾,’a’ ^ ‘b’ ^ ‘a’ = ‘a’
public String reverseString(String s) {
if(s == null || s.length() <= 1)
return s;
char str[] = s.toCharArray();
int begin = 0, end = s.length() - 1;
while(begin < end){
str[begin] = (char)(str[begin] ^ str[end]);
str[end] = (char)(str[begin] ^ str[end]);
str[begin] = (char)(str[begin] ^ str[end]);
begin++;
end--;
}
return new String(str);
}