字符串操作

1.Reverse String

  1. 题目描述
    写一个函数,输入一字符串,返回一个字符串的逆转
  2. 解题思路
    法一:使用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);
    }

你可能感兴趣的:(字符串操作)