데이터 구조 면접 문제 1.2.7 - 문장의 단 어 를 뒤 집 는 순서

package questions;

/**
 * @title           
 * @question         ,          ,           。           。     ,             。
 *               “I am a student.”,   “student. a am I”。
 * @analysis   :                            ,                 、        。
 *                                 。
 *                     ,             。  ,             ,            
 *           。             。             ,                 。 <br>
 *                      。  “I am a student.”       “.tneduts a ma
 *           I”,               “student. a ma I”,         。
 * @author Sam
 *
 */
public class Ex1o2o7 {

	public static void main(String[] args) {
		String str = "I am a student.";
		System.out.println(str);
		str = StringRevert.revert(str);
		System.out.println(str);
	}

}

class StringRevert {
	public static String revert(String str) {
		char[] cs = str.toCharArray();
		revert(cs, 0, cs.length);
		str = new String(cs);
		String[] strs = str.split(" ");
		int start = 0;
		for (String s : strs) {
			if (s.length() > 1) {
				revert(cs, start, start + s.length());
				start += s.length() + 1;//      
			}
		}
		return new String(cs);
	}

	private static char[] revert(char[] str, int start, int end) {
		for (int i = start; i < (end - start) / 2; i++) {
			char temp = str[i];
			str[i] = str[end - 1 - i];
			str[end - 1 - i] = temp;
		}
		return str;
	}
}

좋은 웹페이지 즐겨찾기