在leetcode.com上看到一道题:输入一个字符串,要求写一个程序让它把字符串反转,然后打印出来。比如,当输入the sky is blue, 程序需要输出blue is sky the.
昨天琢磨了一下午,终于用java搞出来了,还是有些成就感的。灵感来自于我现在正在看的两本关于java的书,让我想到了用StringTokenizer。所以,多看书还是很用帮助的。
下面是我的java代码:
import java.util.*;
import java.io.*;
class Solution
{
public static void main(String[] args)
{
System.out.println("Please Input A String Here: ");
Scanner s=new Scanner(System.in);
String str=s.nextLine();
System.out.println(reverseWords(str));
}
public static String reverseWords(String s) {
StringTokenizer st=new StringTokenizer(s," ");//以空格为分隔符分割输入的字符串
int count=st.countTokens();//分割字符串后单词的数量
String array[]=new String[count];
String str=" ";
int i=0;
while(st.hasMoreTokens()) //把分割后的单词复制给数组元素
{
array[i]=st.nextToken();
i=i+1;
}
for(int x=array.length-1;x>=0;x--) //拼接字符串
{
str=str+" "+array[x];
}
String result=str.trim(); //清除头和尾的空格
return result;
}
}
阅读(1661) | 评论(0) | 转发(0) |