翻转单词序列
来源:互联网 发布:cctv1网络直播源 编辑:程序博客网 时间:2024/06/05 04:01
问题描述:
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
思路:
先把整个句子序列翻转,然后在将每一个单词翻转。
代码
public class Solution { public String ReverseSentence(String str) { //返回结果 String result = ""; char [] str2char = str.toCharArray(); //str为null或者为"",直接返回 result if(str==null || str2char.length == 0){ return result; } //将整个句子翻转 int length = str2char.length-1; for(int i = 0;i < str2char.length/2; ++i){ char temp = str2char[i]; str2char[i] = str2char[length]; str2char[length] = temp; length --; } //翻转每一单词 int begin = 0; //指向某一个单词开始 int end = 0;//指向某一个单词结尾 while(begin != str2char.length){ if(str2char[begin] == ' '){ begin ++; end ++; } else if(end == str2char.length || str2char[end] == ' '){ int tempEnd = end - 1; while(begin < tempEnd){ char temp = str2char[begin]; str2char[begin] = str2char[tempEnd]; str2char[tempEnd] = temp; begin ++; tempEnd --; } begin = end; } else{ end ++; } } result = String.valueOf(str2char); return result; }}
阅读全文
0 0
- 翻转单词序列
- 翻转单词序列
- 左旋转字符串和翻转单词序列
- 面试题42. 翻转单词序列
- 翻转单词序列 vs 左旋转字符串
- 单词翻转
- 单词翻转
- 单词翻转
- 翻转单词
- 单词翻转
- 翻转单词
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- 单词翻转
- linux dump
- Android Scroller的简单使用
- 今日开通博客
- sublime text 3 安装less
- 跨平台C语言长连接之一个好的buffer该怎么抄来
- 翻转单词序列
- GitHub的使用流程
- Android常用开源项目(二十)
- Linux 中高效编写 Bash 脚本的 10 个技巧
- TortoiseGit学习笔记(四)
- redis配置文件详解
- spring Aop中切入点和连接点什么关系?
- redis
- Android studio 快捷键