反轉字符串

在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;
    }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章