饿了么测开笔试

字符串反转
要求:
实现一个函数 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);
    }
}