给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
来源:互联网 发布:jdbc数据库配置 编辑:程序博客网 时间:2024/05/29 17:06
我的代码
public static void main(String[] args) { String str = "we are family's"; StringBuffer sb = new StringBuffer(str).reverse(); String[] split = sb.toString().split(" "); sb = new StringBuffer(); for (int i = 0;i<split.length;i++){ sb.append(split[split.length-1-i]).append(" "); } System.out.println(sb.toString()); }
别人的代码:
1. 简单解决方案
public class Solution { public String reverseWords(String s) { String words[] = s.split(" "); StringBuilder res=new StringBuilder(); for (String word: words) res.append(new StringBuffer(word).reverse().toString() + " "); return res.toString().trim(); }}
原理一样,没什么亮点。
public class Solution { public String reverseWords(String s) { String words[] = split(s); StringBuilder res=new StringBuilder(); for (String word: words) res.append(reverse(word) + " "); return res.toString().trim(); } public String[] split(String s) { ArrayList < String > words = new ArrayList < > (); StringBuilder word = new StringBuilder(); for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == ' ') { words.add(word.toString()); word = new StringBuilder(); } else word.append( s.charAt(i)); } words.add(word.toString()); return words.toArray(new String[words.size()]); } public String reverse(String s) { StringBuilder res=new StringBuilder(); for (int i = 0; i < s.length(); i++) res.insert(0,s.charAt(i)); return res.toString(); }}
可以效率高,但代码太冗余了。
阅读全文
0 0
- 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
- 给定一个字符串,你需要颠倒每个单词中的字符顺序,同时仍然保留空白和初始的字顺序。
- 给定一个字符串s和一个单词dict的字典,在s中添加空格来构造一个句子,其中每个单词都是有效的字典单词。
- 给定一个字符串列表,找出单词中最长单词,可以用l列表中的其他单词一次构建一个字符。返回具有最小字典顺序的最长单词。
- 输入一个英文句子,翻转句子中单词的顺序,单词内字符顺序不变
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变
- 输入一个句子,反转句子中单词的顺序,单词内的字符顺序不变
- 给定输入的字符串,将字符串中的单词顺序颠倒,但要保持单词的字符顺序。
- 将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化,将字符串中的空格用 代替
- 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。
- 复习数据结构和算法02-反转句子中的单词的顺序(单词中字符顺序不变)
- java算法实现之--输入一个英文句子,翻转句子中的单词顺序,但单词内字符的顺序不变
- java算法实现"输入一个英文句子,反转句子中的单词顺序,但单词内字符的顺序不变"
- 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不改变
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- 面试题:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。
- (Java)输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以单个空格符隔开
- 输入一个英文句子,翻转句子中单词的顺序
- 电脑耳机只能听到伴奏原声声音很小该怎么办?
- java获取工程目录下面或者引用jar包中的配置文件方式:
- 创建React Component的几种方式
- OPenGl编程宝典在vs2010中配置
- BZOJ 3994 [SDOI2015]约数个数和
- 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
- FreeRTOS实验_独立看门狗监视多线程
- Gang Black and Gang White (二分图染色法)
- 小米系列手机调试Installation failed with message Failed to establish session
- logback的使用和logback.xml详解
- 负载均衡-Session处理策略
- TIPTOP ERP 之 MRP物料需求计划
- 在服务器上安装redhat系统
- 【算法题】生日礼物