示例:
输入:I like beijing.
输出:beijing. like I
思路:
整体思路:
将字符全部倒置,再将每个小部分再进行倒置。
详细思路:
首先将从键盘输入的字符串转为字符型数组,因为String Buffer自带的倒置字符串函数reverse不能传递参数,所以需要自己写一个reverse函数。
(reverse函数:传递三个参数 分别为数组arr,起始引用start,结尾引用end
首先定义两个引用,一个在头(start)一个在尾(end),在start和end没有相遇(即start<end)时,将start所指字符与end所指字符相交换,然后start往后走 end往前走。)
然后先将字符串全部倒置 即reverse(arr,0,arr.length-1),
再倒置每个小部分:利用两个while循环,最外层是为了保证越界,要让start始终小于数组长度len;在第二层之前首先要让end在start位置,然后利用第二层while循环 在end<len的前提下 只要end不遇到空格(即arr[end]!=' ')就让end++,在end++后刚好在空格位置的时候,跳出第二层循环,调用reverse(arr,start,end-1)进行第一个单词的倒置(此时end在空格位置,所以reverse里面的结束位置是