JAVA倒置字符串

示例:
输入: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里面的结束位置是

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值