【JAVA练】将i am biter 逆置为 biter am i

代码实现: 

package com.company;

public class reverseSentence {


    public static String reverseWord(char[] chars,int left,int right){
        while (left < right){
              //逆置数组元素
            char temp = chars[left];
            chars[left] = chars[right];
            chars[right] = temp;
            left++;
            right--;
        }
        return chars.toString();
    }

    public static String reverseSentence(String str) {
        char[] chars = str.toCharArray();
        reverseWord(chars, 0, str.length() - 1); //变为  retib ma i
        int i = 0;
        int j = 0;
        while (i < chars.length) {
            if (chars[i] == ' ') { //如果i遇到是空格,i++,j++
                i++;
                j++;
            } else if (j == str.length() || chars[j] == ' ') {
                //逆置单词
                reverseWord(chars, i, --j);
                i = ++j;
            } else {
                j++;//j如果是一个字符(单词、字母),j++
            }
        }
        return String.copyValueOf(chars);//返回指定数组中表示该字符序列的字符串
    }

    public static void main(String[] args) {
        String str = "i am biter";
        System.out.println("逆置前为:"+str);
        System.out.println("逆置后为:"+reverseSentence(str));
    }
}

猜你喜欢

转载自blog.csdn.net/LXL7868/article/details/89295879
am