输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点 符号和普通字母一样处理
Posted 林木声
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点 符号和普通字母一样处理相关的知识,希望对你有一定的参考价值。
题目:
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点
符号和普通字母一样处理
解答:
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 }
以上是关于输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点 符号和普通字母一样处理的主要内容,如果未能解决你的问题,请参考以下文章
输入一个英文名字,翻转句子中单词的顺序。要求单词内字符的顺序不变,句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,若输入“”I am a student.“”则输出“”stude