字符串反转
要求:
实现一个函数 reverse, 输入参数为一个字符串, 返回结果为反转之后的字符串。
特殊处理, 字符串中出现单词 ali (连续字符) 时, 该单词需要保留顺序。
代码尽量健壮、清晰易懂,包含适当的注释,注释可使用中文。
编写完整可运行的程序,包含测试示例验证,确保本地测试运行通过。
示例:
“welcome to alibaba!” → “!ababali ot emoclew”
“ali all in, ali ila” → “ali ali ,ni lla ali”
“keep ali” → “ali peek”
class Reverse{
public String reverse(String str){
if(str.contains("ali")) {
str.replace("ali", "&");
}
String[] ch= str.split("");
int n =ch.length-1;
String tmp;
StringBuffer sb = new StringBuffer();
for(int i =0; i< n/2;i++){
tmp=ch[i];
ch[i]=ch[n-i];
ch[n-i]=tmp;
}
for(String c:ch ){
if(c.equals("&")){
c.replace("&","ali");
}
sb.append(c);
}
return String.valueOf(sb);
}
}