java面试题:字符串的反转

public class reverseString {

	/**
	 * 实现字符串反转的两种方式
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		String str="how are you";
		StringBuffer sb=new StringBuffer(str);
		sb.reverse();
		String str1=sb.toString();
		String[] s=str1.split(" ");
		for (int i = 0; i < s.length; i++) {
			s[i]=(new StringBuffer(s[i]).reverse()).toString();
		}
		String s2="";
		for (int i = 0; i < s.length; i++) {
			s2=s2+s[i]+" ";
		}
		System.out.println(s2.substring(0, s2.length()-1));

//		System.out.println(new reverseString().swapWords(str));
	}

	private String swapWords(String str) {
		// TODO Auto-generated method stub
		char[] ch=str.toCharArray();
		swap(ch,0,ch.length-1);
		int begin=0;
		for (int i = 0; i < ch.length; i++) {
			if(ch[i]==' '){
				swap(ch,begin,i-1);
				begin=i+1;
			}
		}
		//交换最后一个单词
		swap(ch,begin,ch.length-1);
		return new String(ch);
	}

	//字符串反转
	private void swap(char[] ch, int i, int j) {
		// TODO Auto-generated method stub
		while(i

你可能感兴趣的:(Java面试题集)