练习三:字符串倒置

来源:互联网 发布:ubuntu语言设置 编辑:程序博客网 时间:2024/05/14 17:56

字符串比如“ad2 lsdkf, lksdjf. sdkfj”倒序排列"sdkfj lksdjf. lsdkf, ad2" 每个单词是空格分开,标点符号当作字母,不能用String的自带的一些方法,比如indexof,trim,split等方法。

public static void myConvert(String source) {char[] tmpArray = source.toCharArray();StringBuffer out = new StringBuffer();StringBuffer tmp = new StringBuffer();for (int index = tmpArray.length - 1; index >= 0; index--) {if (tmpArray[index] == ' ') {out.append(" ");tmp.append(out);out.delete(0, out.length());} else {out.insert(0, tmpArray[index]);}}tmp.append(out);System.out.println(tmp.toString());}

使用了2个StringBuffer,有些笨重。下面的比较轻巧。


public static void reverseString(String source) {char[] cTemp = source.toCharArray();String newString = "";String sTemp = "";for (int i = cTemp.length - 1; i >= 0; i--) {if (cTemp[i] == ' ') {newString += sTemp + cTemp[i];sTemp = "";} else {sTemp = cTemp[i] + sTemp;}}newString += sTemp;System.out.println(newString);}

这个程序是找别人的,很是轻巧学习。


此题源地址:http://www.iteye.com/topic/786985



原创粉丝点击