题目描述

牛客最近来了一个新员工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. 学习分享--python网络爬虫(一)关于如何更新python pip以及如何安装python requests库

    一.python pip的更新(我的是window10 界面可能不太一样)    1.找到电脑左下角开始按钮,并点击: 2.输入cmd 3.打开以后,先查看自己的pip版本  输入:pip -V 敲回 ...

  2. 学会这一招,小白也能使用数据可视化BI软件创建医院数据实时展示大屏

    灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件.   本文以医院数据实时展示大屏为例 ...

  3. Android中DatePicker日期选择器的使用和获取选择的年月日

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  4. leetcode-简单-栈-有效的括号

    给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效. 有效字符串需满足:  左括号必须用相同类型的右括号闭合. 左括号必须以正确的顺序闭合. 注意空字符串可被 ...

  5. DataX的使用——大数据同步技术

    准备工作: 1.视频教学http://113.31.104.47/portal/#/course/dashboard/b34d160db64624732ef152a1118af11a 2.DataX的 ...

  6. Github上优秀的.NET Core项目

    Github上优秀的.NET Core开源项目的集合.内容包括:库.工具.框架.模板引擎.身份认证.数据库.ORM框架.图片处理.文本处理.机器学习.日志.代码分析.教程等. Github地址:htt ...

  7. BUUCTF 部分wp

    目录 Buuctf crypto 0x01传感器 提示是曼联,猜测为曼彻斯特密码 wp:https://www.xmsec.cc/manchester-encode/ cipher: 55555555 ...

  8. python3-cookbook笔记:第四章 迭代器与生成器

    python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...

  9. CentOS7安装docker和docker-compose

    1.安装docker # 使用yum安装docker yum -y install docker # 启动 systemctl start docker.service # 设置为开机自启动 syst ...

  10. MATLAB代码v2.0

    % % V 原始评价指标矩 % % v_ij 第i个地区第j个指标的初始值 % % r_ij 第i个地区第j个指标的标准化值 % % R 标准化后的评价矩阵 % % m 统计地区总个数 % % n 已 ...