單詞反轉
阿新 • • 發佈:2018-08-22
每一個 words stat 字符 system ray char 一個 pri 思路:
實現字符串首尾反轉 即對how are you 全反轉 uoy era woh
再對每一個單詞進行單獨反轉 (每讀取到 ‘ ‘ 即對前面的字符串進行反轉一次)
因為最後一個單詞的後面沒有 ‘ ‘ 所以需要單獨反轉
//數組中只有一個數組出現過1次,其他的都出現了3次 public class s { //把數組首尾元素交換 public void swap(char[] cArr,int front,int end) { while(front<end) { char tmp=cArr[end]; cArr[end]=cArr[front]; cArr[front]=tmp; front++; end--; } } public String swapWords(String s) { //對how are you 全反轉 uoy era woh char[] cArr=s.toCharArray(); swap(cArr,0,cArr.length-1); //對 當個單詞進行反轉 uoy - you; era - are ; woh -how(找不到 ‘ ‘ 無法反轉) int begin=0; for(int i=1;i<cArr.length;i++) { if(cArr[i]==‘ ‘) { swap(cArr,begin,i-1); begin=i+1; } } //所以要把最後一個單詞單獨反轉 woh -how swap(cArr,begin,cArr.length-1); return new String(cArr); } public static void main(String[] args) { String str="how are you"; System.out.println(new s().swapWords(str)); } }
單詞反轉