字符串中的单词反转

将一句英文语句中的每个单词进行反转,空格及标点符号保持不变。
如"hi,nice to meet you!" 反转后结果为:"ih,ecin ot teem uoy!"
输入、输出描述
输入:
英文语句字符串
输出:
每个单词反转后的语句字符串
Example
输入:
hi,nice to meet you!
输出:
ih,ecin ot teem uoy!
代码:
import java.util.*;

public class Main {

 public void reverse(int begin,char []str,int sz){
	int i;
	for(i=0;i<sz/2;i++){
		char ch = str[begin + i];
		str[begin + i] = str[begin+sz-1-i];
		str[begin+sz-1-i] = ch;
	}
}

 public String solution(String input) {

		char[] s = input.toCharArray();
		int sz = input.length();
		int i;
		int begin = 0;
		for(i=0;i<sz;i++){
			if(s[i] == ' ' || s[i] == ',' || s[i] == '!'){
				reverse(begin, s, i - begin);
				begin = i+1;
			}
		}
		if(begin != 0){
			reverse(begin, s, i - begin);
		}else{
			reverse(0, s, sz);
		}

        return String.valueOf(s);
    }

	public static void main(String[]args){
		String s = "hi,nice to meet you!";
		String result = new Main().solution(s);
		System.out.println(result);
	}
}
一个创业中的苦逼程序员
评论专区

隐藏