Java:字符串II中的反向单词

给定输入字符串,逐个单词地反转字符串。单词被定义为一系列非空格字符。输入字符串不包含前导或尾随空格,并且单词始终由单个空格分隔。
例如,
Given s = “the sky is blue”,
return “blue is sky the”.

Java解决方案

public void reverseWords(char[] s) {
    int i=0;
    for(int j=0; j<s.length; j++){
        if(s[j]==' '){
            reverse(s, i, j-1);        
            i=j+1;
        }
    }
 
    reverse(s, i, s.length-1);
 
    reverse(s, 0, s.length-1);
}
 
public void reverse(char[] s, int i, int j){
    while(i<j){
        char temp = s[i];
        s[i]=s[j];
        s[j]=temp;
        i++;
        j--;
    }
}

在这里插入图片描述

原创文章 115 获赞 0 访问量 2977

猜你喜欢

转载自blog.csdn.net/qq_41806546/article/details/105594205