题目描述

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

题解一:使用栈操作
 public static String ReverseSentence(String str) {
     ////trim():删除了原始字符串头部和尾部的空格,这个语句意思为:字符串只有一个以上空格返回本身
         if (str.trim().equals("") && str.length() > 0) {
             return str;
         }
         Stack<Object> stack = new Stack<>();
         String string = str.trim();
         String[] strings = string.split(" ");//将字符串以空格隔开,拆分成为字符串数组
         for(int i=0;i<strings.length;i++){
             stack.push(strings[i]);
         }
         string = (String) stack.pop();
         while (!stack.isEmpty()) {
             string = string + " " + stack.pop();
         }
         return string;
     }
题解二:StringBuffer字符串拼接
  public static String ReverseSentence2(String str) {
         if(str.trim().equals("")){
             return str;
         }
         String[] a = str.split(" ");
         StringBuffer sb = new StringBuffer();
         for (int i = a.length; i >0;i--){
             sb.append(a[i-1]);
             if(i > 1){
                 sb.append(" ");
             }
         }
         return sb.toString();
     }
 //测试
   public static void main(String[] args) {
          String string=" ";
         System.out.println(string.trim().equals(""));//空字符串的结果为true
         System.out.println(string.length());
         String string1="student. a am I";
         String s = ReverseSentence(string1);
         String s1 = ReverseSentence2(string1);
         System.out.println(s);
         System.out.println(s1);
     }

【剑指Offer】44、翻转单词顺序列的更多相关文章

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

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student ...

  2. 《剑指offer》翻转单词顺序列

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  3. Go语言实现:【剑指offer】翻转单词顺序列

    该题目来源于牛客网<剑指offer>专题. 例如,"student. a am I",正确的句子应该是"I am a student." Go语言实 ...

  4. 剑指Offer 44. 翻转单词顺序列 (字符串)

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"st ...

  5. 【剑指Offer】翻转单词顺序列 解题报告(Python)

    [剑指Offer]翻转单词顺序列 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...

  6. 【Java】 剑指offer(58-1) 翻转单词顺序

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变 ...

  7. 【剑指offer】翻转单词顺序

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/27372033 题目描写叙述: JOBDU近期来了一个新员工Fish,每天早晨总是会拿着一本 ...

  8. 【剑指offer】翻转单词顺序,C++实现

    原创博文,转载请注明出处! 本题牛客网地址 本题代码的github地址 本系列文章的索引地址 # 题目 # 思路       两次翻转,第一次翻转整个句子,第二次翻转每个单词(单词之间用逗号隔开) # ...

  9. 剑指offer44:翻转单词顺序列

    1 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“stude ...

  10. 剑指 Offer 44. 数字序列中某一位的数字 + 找规律 + 数位

    剑指 Offer 44. 数字序列中某一位的数字 Offer_44 题目描述 题解分析 java代码 package com.walegarrett.offer; /** * @Author Wale ...

随机推荐

  1. JS从键盘输入当月利润,求应发放奖金总数

    题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%:20万到4 ...

  2. Objective-C编程 — 并行编程

    多线程 线程的基本概念 线程 (thread)是进程(process)A 内假想的持有 CPU 使用权的执行单位.一般情况下,一个进程 只有一个线程,但也可以创建多个线程并在进程中并行执行.应用在执行 ...

  3. [javascript] 利用chrome的overrides实时调试线上js

    chrome的开发者工具,在source选项卡下,可以看到js的源代码,有一个断点调试功能,就是在js的源代码行号那里点击一下,出现一个箭头,当再次刷新页面并且进行了相应操作时,就会停在断点的地方.我 ...

  4. SAP VL10B 报错 - 4500000317 000010 交付 $ 1 的交付项目 000010 与 POD 无关-

    SAP VL10B 报错 - 4500000317 000010 交付 $ 1 的交付项目 000010 与 POD 无关- 如下公司间STO单据, 业务背景是货物从公司代码LYSP转入公司代码BTS ...

  5. docker jenkins 安装

    1:官方教程 https://jenkins.io/zh/doc/book/installing/ 2:拉取jenkins镜像 docker pull jenkinsci/blueocean 3:输入 ...

  6. dmock 基于Django的轻量级Mock平台

    GitHub:https://github.com/yjlch1016/dmock # dmock 基于Django的轻量级Mock平台 dmock即Django+Mock的缩写 一.思路: mock ...

  7. kong服务网关API

    kong服务网关API pingforever关注 0.1762017.05.23 11:16:08字数 834阅读 7,367 kong简介 Kong 是在客户端和(微)服务间转发API通信的API ...

  8. SpringBoot(一) 入门介绍

    SpringBoot 简介 springBoot 是 spring 团队伴随着 spring4.0 一同发布的框架,已然成为该团队的一个非常重要的项目.其作用是帮助我们简单迅速地创建一个独立的产品级别 ...

  9. 如何用Eagle for Mac查看GIF动图的图文教程?

    Mac版Eagle怎样打开查看GIF动图?eagle mac版以其功能强大,设计简洁等特点深受用户的喜爱.在Eagle众多功能中,打开查看GIF动图这一功能也是非常简单又好用的.今天小编要给大家分享的 ...

  10. 清北学堂—2020.1提高储备营—Day 3(图论初步(二))

    qbxt Day 3 --2020.1.19 济南 主讲:李奥 目录一览 1.图论(kruskal算法,最短路径算法,拓扑排序) 总知识点:图论 一.kruskal算法 1.目的:求图的最小生成树 2 ...