剑指offer-反转单词顺序列
题目描述
解题思路
第一步反转句子中所有的字符,比如反转上例可得:“.tneduts a ma I”,此时不但反转了句子中单词的顺序,连单词内的字符顺序也被反转了。第二步再反转每个单词中字符的顺序,就得到了“student. a am I”。这正是符合题目要求的输出。
代码
class Solution {
public:
string ReverseSentence(string str) {
int len = str.size();
if(len == )
return "";
str = Reverse(str, , len-);
int start = , end = ;
string res = "";
while(end <= len){
if(str[start] == ' '){
res += " ";
start++;
}
else if(end == len){
res += Reverse(str, start, end-);
}
else if(str[end] == ' '){
res += Reverse(str, start, end-);
res += " ";
start = end+;
}
end++;
}
return res;
}
string Reverse(string str, int start, int end){
string s = "";
while(end >= start){
s += str[end];
end--;
}
return s;
}
};
剑指offer-反转单词顺序列的更多相关文章
- 剑指Offer——翻转单词顺序列
题目描述: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“studen ...
- 剑指Offer-44.翻转单词顺序列(C++/Java)
题目: 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student. ...
- 剑指Offer41 反转单词顺序,单词字符顺序不变
/************************************************************************* > File Name: 41_Revers ...
- 剑指Offer-翻转单词顺序列
题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,"st ...
- 剑指Offer 反转链表
题目描述 输入一个链表,反转链表后,输出链表的所有元素. 思路: 法1:用栈,压栈出栈 法2:头插法(有递归非递归2中) AC代码: /* struct ListNode { int va ...
- 剑指offer--40.翻转单词顺序列
时间限制:1秒 空间限制:32768K 热度指数:276854 本题知识点: 字符串 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写 ...
- 【剑指offer】判断一个序列是否是二叉搜索树的后序遍历,C++实现
原创文章,转载请注明出处! 本题牛客网地址 博客文章索引地址 博客文章中代码的github地址 1.题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出N ...
- 剑指Offer——反转链表
Question 输入一个链表,反转链表后,输出链表的所有元素. Solution 如果空间复杂度要求为O(1)的话,可以考虑用三个指针来进行反转 如果没有空间复杂度限制的话,可以考虑用一个栈,将节点 ...
- 用js刷剑指offer(反转链表)
题目描述 输入一个链表,反转链表后,输出新链表的表头. 牛客网链接 js代码 /*function ListNode(x){ this.val = x; this.next = null; }*/ f ...
随机推荐
- eclipse 中启动Tomcat超时了错误
修改E:\eclipse\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\servers.xml 将 start-ti ...
- python-kafka实现produce与consumer
1.python-kafka: api送上:https://kafka-python.readthedocs.io/en/latest/apidoc/KafkaConsumer.html 2.实现一个 ...
- Liveness 探测 - 每天5分钟玩转 Docker 容器技术(143)
Liveness 探测让用户可以自定义判断容器是否健康的条件.如果探测失败,Kubernetes 就会重启容器. 还是举例说明,创建如下 Pod: 启动进程首先创建文件 /tmp/healthy,30 ...
- Intellij IDEA查看所有断点
项目中打的断点太多,有时自己也想不到打在哪里了,也不知道哪些方法.哪些代码行上打了断点,在IDEA中如何查看所有断点呢? 方法如下: step 1 IDEA的debug面板中有一个名称为View Br ...
- Java爬取 百度图片Google图片Bing图片
先看看抓取的结果. 8个Java类: Startup.java - main函数 ImageCrawler.java - Crawler基类 BaiduImageCrawler.java - 百度图片 ...
- Mac下使用终端连接远程使用ssh协议的git服务器
最近换了台新电脑, MacBook pro,拿到新电脑之后小小心喜了一下(终于解脱windows的束缚拥抱mac啦), 然后就开始苦逼的安装各种开发环境了. 之前在windows上使用tortoise ...
- 使用angular-ui-router替代ng-router
angular框架自身提供的ng-route在一定程度上满足了我们的需求,但是他只针对于单视图,比如点击一个link跳转到另一个视图,但是在实际业务中,需要一个状态对应的视图中还包含其他的视图,或者一 ...
- javascript - 个人笔记汇总
1. onSubmit = "return function ()"; 2. <input type="text" name="fname&q ...
- JS基础三
1.delete删除对对象的属性和方法的定义.强制解除对它的引用,将其设置为 undefined delete 运算符不能删除开发者未定义的属性和方法. 2.void 运算符对任何值返回 undefi ...
- 格式化JSON数据
function formatJson(json, options) { var reg = null, formatted = '', pad = 0, PADDING = ' '; options ...