标签:简单 length image oid lse color rgs mic 一个
题目:
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点
符号和普通字母一样处理
解答:
1 public class Solution { 2 public static void main(String[] args) { 3 String string = "I am a student."; 4 reverseSentence(string); 5 } 6 7 private static void reverseSentence(String str) { 8 if(str == null) { 9 return; 10 } 11 12 char[] arr = str.toCharArray(); 13 reverse(arr, 0, arr.length-1); 14 15 int start = 0; 16 int end = 0; 17 for(int i = 0; i < arr.length; i++) { 18 if(arr[i] == ‘ ‘) { 19 reverse(arr, start, end); 20 end++; 21 start = end; 22 } else if(i == arr.length) { 23 end++; 24 reverse(arr, start, end); 25 } else { 26 end++; 27 } 28 } 29 30 for(char c: arr) { 31 System.out.print(c); 32 } 33 } 34 35 private static void reverse(char[] arr, int start, int end) { 36 for(int i = start, j = end; i <= j; i++,j--) { 37 char temp = arr[i]; 38 arr[i] = arr[j]; 39 arr[j] = temp; 40 } 41 } 42 }
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点 符号和普通字母一样处理
标签:简单 length image oid lse color rgs mic 一个
原文地址:https://www.cnblogs.com/wylwyl/p/10384599.html