如何实现字符串的反转

1.问题描述

把一个句子中的单词进行反转

例如,“how are you”

进行反转后

输出“you are how”

2.解题分析

这道题的解决方法比较简单,只需要进行两次字符反转的操作即可,第1次对整个字符串中的字符进行反转,反转结果为: “uoy era woh”,通过这次的反转已经实现了 单词顺序的反转,只不过每个单词中字符的顺序反了,接下来只需要对每个单词进行字符反转即可得到想要的结果:“you are how”。

3.代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

public class 如何实现字符串的反转 {
public static void reverse(char []ca,int begin,int end){
while(begin<end){
char tmp=ca[begin];
ca[begin]=ca[end];
ca[end]=tmp ;
begin++;
end--;

}
}
public static String reverseSt(String s){
char []ca=s.toCharArray();
reverse(ca, 0, ca.length-1);
int begin=0;
for(int i=0;i<ca.length;i++){
if(ca[i]==' '){
reverse(ca, begin, i-1);
begin=i+1;
}
}
//由于最后一个单词无空格,所以得在循环后再执行一遍字符串反转
reverse(ca, begin, ca.length-1);

return new String(ca);
}

public static void main(String[] args) {
String str=new String("how are you");
System.out.println(reverseSt(str));

}

}
-------------本文结束感谢您的阅读-------------
0%