您的位置:首页 > 编程语言 > Java开发

java实现字符串按词反转

2014-04-20 16:32 260 查看
从后往前扫描字符串,遇见.就输出后面的单词

设置两个栈,先入栈所有的,然后出栈,如果是.就再入栈出栈。

public String reverseByWord1(String str){
String reverse="";
int j = str.length();
for(int i=str.length()-1 ; i>=0 ; i--){
String temp =str.charAt(i)+"";
if(temp.equals(".")){
reverse += str.substring(i+1, j)+".";
j=i;
}
}
reverse+=str.substring(0, j);
return reverse;
}

public String reverseByWord2(String s){
char[] str = s.toCharArray();
String reverse="";
Stack<Character> stackOne = new Stack<Character>();
Stack<Character> stackTwo = new Stack<Character>();
for(int i=0;i<str.length;i++){
stackOne.push(str[i]);
}
for(int i=0;i<str.length;i++){
char c = stackOne.pop();
if((c+"").equals(".")){
while(!stackTwo.empty()){
reverse +=stackTwo.pop();
}
reverse +=".";
System.out.println("reverse---"+reverse);
}else{
stackTwo.push(c);
}

}
while(!stackTwo.empty()){
reverse +=stackTwo.pop();
}
return reverse;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: