反转字符串
题目描述:将字符串 "##We###Are###Family!###"
反转为 "###!ylimaF###erA###eW##"
。
分析与解答:这题我们的解答方法有很多,常见的方法是使用数组,下面来介绍用数据结构中的 Stack(栈)来完成反转。
Stack 的特点是 FILO(First In,Last Out)— 先进后出。此特点用于将字符串反转非常合适,以下是代码实现:
import java.util.Stack; |
多次反转字符串
题目描述:将字符串 "##We###Are###Family!###"
反转为 "###Family!###Are###We##"
。
分析与解答:
此题和上题的区别是,单词不反转。解决思路有两个:
- 将所有字符串反转后,再将反转结果中的单词再一次反转。
- 先将字符串中的单词反转,再将整体反转。
两种方式的区别不大,下面代码是第一种方式的实现。
import java.util.Stack; |
总结
不管是 #
还是空格等符号,反转方法均一样。顺序不变的部分经过两次反转就跟原来一样。
我们使用好 IDEA 的 dubug 功能能解决很多代码错误。建议多动手实践。