44、翻转单词顺序列

一、题目

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?

二、解法

 1 public class Solution {
 2     public String ReverseSentence(String str) {
 3          StringBuilder sb = new StringBuilder("");
 4         //判断输入的字符串是否符合条件
 5         if(str.length() == 0 || str.trim().equals(""))
 6             return str;
 7         String[] strSet = str.split(" ");//以空格将字符串分割为字符串数组
 8         int len = strSet.length;//单词的长度
 9         //然后逐个从后往前拼接单词,直到倒数第二个为止,每个之间加一个空格
10         for(int i = len-1; i > 0; i--)
11             sb.append(strSet[i]+" ");
12         //拼接最后一个单词
13         sb.append(strSet[0]);
14         return sb.toString();
15     }
16 }
时间: 2024-10-11 21:34:46

44、翻转单词顺序列的相关文章

[剑指Offer] 44.翻转单词顺序列

题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"student. a am I".后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是"I am a student.".Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? [思路]先把由空格分割的每个字符串翻转,最后翻转整个字符串. 1 class Solution

剑指offer之【翻转单词顺序列】

题目: 翻转单词顺序列 链接: https://www.nowcoder.com/practice/3194a4f4cf814f63919d0790578d51f3?tpId=13&tqId=11197&rp=4&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 题目描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴

牛客(44)翻转单词顺序列

// 题目描述 // 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上. // 同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思. // 例如,"student. a am I". // 后来才意识到,这家伙原来把句子单词的顺序翻转了, // 正确的句子应该是"I am a student.". // Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? public static String

翻转单词顺序列

牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student. a am I”.后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”.Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? public class Solution { public String ReverseSentence(String str) {

剑指offer(四十一)之翻转单词顺序列

题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"student. a am I".后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是"I am a student.".Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 代码: <span style="font-family:SimSun;fon

剑指Offer——翻转单词顺序列

题目描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"student. a am I".后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是"I am a student.".Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 分析: 同上一题的解法.剑指Offer--左旋转字符串. 代码: 1 class Solut

翻转单词顺序序列

题目:"student. a am I"-->"I am a student" 思路:方法一是先将整个字符串转置,然后再把每个单词转置..方法二...分割成字符串数组,从尾到头添加每个单词,,但是这样会有额外空间... public String ReverseSentence(String str) { if(str==null)return null; if(str.trim().equals("")) return str; Stri

引用参数(翻转单词顺序列)

错误代码: class Solution { public: string ReverseSentence(string str) { int length = str.size(); if(length <= 0) return str; reverse(str,0,length-1); std::queue<int> blank; for(int i = 0;i < length;i++){ if(str[i] == ' ') blank.push(i); } int begi

翻转单词顺序列-剑指Offer

翻转单词顺序列 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student. a am I”.后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”.Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路 我们先对整句话做一个翻转,再对每个单词做翻转 注意:每次循环的去翻转两个空格之间的单词,并且在翻转最后