1. 程式人生 > >LeetCode557. 反轉字串中的單詞 III

LeetCode557. 反轉字串中的單詞 III

給定一個字串,你需要反轉字串中每個單詞的字元順序,同時仍保留空格和單詞的初始順序。

示例 1:

輸入: "Let's take LeetCode contest"
輸出: "s'teL ekat edoCteeL tsetnoc"

注意:在字串中,每個單詞由單個空格分隔,並且字串中不會有任何額外的空格。

思路:將字串分割成不含空字元的單個字串陣列,將陣列中的每個字串反轉,最後將陣列中的字串拼湊成一個字串。
class Solution {
    public String reverseWords(String s) {
        if(s==null) {
    		return null;
    	}
        String words[]=s.split(" ");
        String newS="";
        for(String str:words) {
        	String temp=reverseString(str);
        	newS=newS+" "+temp;
        //	System.out.println(temp);
        }
    	return newS.trim();//忽略字串的前導空白和尾部空白
    }
     //反轉字串
    public static String reverseString(String s) {
        if(s==null) {
	    	return null;
	    }
	    int len=s.length();
		char[] ch=new char[len];
		int i,j;
		for(i=0,j=len-1;i<len;i++,j--) {
			ch[i]=s.charAt(j);
		}
		String str=new String(ch);
		return str;
   }
}