package com.java.ly2011.June;
import java.util.Arrays;
/**
* 字符串单词逆序 如 hello world -->world hello
* @author ly
*
*
*/
public class StrWordReverse {
public static void main(String[] args) {
String string = "i am ly";
char[] chs = string.toCharArray();
char[] result = strWordReverse(chs);
string = new String(result);
System.out.println(string);
}
/**
* 先逆序每个单词,在逆序整个数组
* @param chs
* @return
*/
public static char[] strWordReverse(char[] chs){
int bw = 0;
int ew = 0;
for(;ew<chs.length;ew++){
if(chs[ew]==' '){
strNormalReverse(chs, bw, ew-1);
bw = ew + 1;
}
else if(ew == chs.length-1)
strNormalReverse(chs, bw, ew);
}
strNormalReverse(chs, 0, chs.length-1);
return chs;
}
private static char[] strNormalReverse(char[] chs , int begin , int end ){
while(begin<end){
char temp = chs[begin];
chs[begin]=chs[end];
chs[end] = temp;
begin++;
end--;
}
return chs;
}
}