import java.util.Stack;
/**
* @author yinglala
* 翻转句子中单词的顺序
*/
public class StringOverturn {
/**
* 翻转句子中单词的顺序
* @param str 要翻转的字符串
* @return
*/
public static String overturn(String str){
Stack<String> stack = new Stack<>();
String tmp = "";
//将字符串按空格拆分压栈
for(int i = 0 ; i < str.length() ; i++){
if(str.charAt(i) != ' '){
tmp += str.charAt(i);
}else{
stack.push(tmp);
tmp = "";
}
}
//最后一个单词因为后面没有空格的原因不能实现压栈 手动处理
stack.push(tmp);
str = "";
//出栈 组成新的串
while (stack != null && stack.size() != 0){
str += stack.pop()+" ";
}
return str;
}
public static void main(String[] args){
String str = "I am a bad boy.";
System.out.println(overturn(str));
}
}
翻转句子中单词的顺序(Java)
最新推荐文章于 2022-05-21 11:31:53 发布