0x01,问题简述
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。
0x02,示例
示例: 输入:"Let's take LeetCode contest" 输出:"s'teL ekat edoCteeL tsetnoc" 提示: 在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。0x03,题解思路
利用已有的数据结构实现字符串的翻转
0x04,题解程序
public class ReverseWordsTest3 { public static void main(String[] args) { String str = "Let's take LeetCode contest"; String reverseWords = reverseWords(str); System.out.println("reverseWords = " + reverseWords); } public static String reverseWords(String s) { if (s == null || s.length() == 0) { return s; } String[] strings = s.split(" "); StringBuilder stringBuilder = new StringBuilder(s.length()); for (String s1 : strings ) { StringBuilder t = new StringBuilder(); t.append(s1); stringBuilder.append(t.reverse().toString()); stringBuilder.append(" "); } return stringBuilder.substring(0,stringBuilder.length() - 1); } }0x05,题解程序图片版
0x06,总结一下
字符串翻转是特别常见的一类题了,各种解决思路,本题也是基于最符合常规逻辑的解法,代码敲一敲,就差不多理解了,这也是为啥一直在说的,代码要多练
