题目1:

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!

class Solution {
public:string LeftRotateString(string str, int n) {int len=str.length();if(len<=0||n<=0)return str;       //假设输入str为abcXYZdef,n=3    Reverse(str,0,n-1);   //反转前n个字符,得到cbaXYZdefReverse(str,n,len-1); //反转第n个字符后面所有的字符cbafedZYXReverse(str,0,len-1); //反转整个字符串XYZdefabcreturn str;}void Reverse(string &str,int begin,int end){int temp;while(begin<end){temp=str[begin];str[begin]=str[end];str[end]=temp;begin++,end--;}}
};
题目2:

将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I

输入描述:
每个测试输入包含1个测试用例:  I like  beijing. 输入用例长度不超过100
输出描述:
依次输出倒置之后的字符串,以空格分割
示例1

输入

I like beijing.

输出

beijing. like I
#include<iostream>
#include<string>
#include<vector>
using namespace std; void Reverse(string &str,int begin,int end)
{int temp;while(begin<end){temp=str[begin];str[begin]=str[end];str[end]=temp;begin++,end--;}
}int main()
{string str;while(getline(cin,str)){int len=str.length();Reverse(str,0,len-1);int p1=0,p2=0;while(p2<len){while(str[p2]!='\0'&&str[p2]!=' ')p2++;Reverse(str,p1,p2-1);p2++;p1=p2;}for(int i=0;i<len;i++){cout<<str[i];}}
}/*
int main()
{string str;while(getline(cin,str)){int length=str.length();string temp;vector<string> vec;for(int i=0;i<length;i++){if(str[i]!=' ')temp.push_back(str[i]);else{vec.push_back(temp);temp.clear();            //这里一定要清除}}vec.push_back(temp);        //需要把最后一个单词压入到vec中for(int j=vec.size()-1;j>0;j--)  //倒序输出cout<<vec[j]<<' ';cout<<vec[0]<<endl;}
}
*/

剑指offer面试题[42]-反转单词顺序VS左旋转字符串相关推荐

  1. 【剑指offer-Java版】42翻转单词顺序VS左旋转字符串

    反转单词顺序以及左旋转字符串:输入一个英文句子,翻转句子中的单词顺序,单词内部的字母顺序是不变的 – I am a student. -> student. am I 第一步,翻转句子中的所有字 ...

  2. [剑指offer]面试题42:翻转单词顺序 VS左旋转字符串

    面试题42:翻转单词顺序 VS左旋转字符串 题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a st ...

  3. 剑指 Offer 笔记: T58 - I. 翻转单词顺序

    T58 - I. 翻转单词顺序 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a student. &qu ...

  4. 剑指Offer:翻转单词顺序 vs 左旋转字符串

    题目一:输入一个英文句子,翻转句子中单词的顺序,但单词内部的顺序不变.为简单起见 ,标点符号和普通字母一样处理.例如输入字符串"I am a student. ",则输出" ...

  5. 翻转单词顺序与左旋转字符串

    题目一:输入一个英文句子,翻转句子中单词的顺序.但是单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理.例如输入字符串"I am a student.",则输出" ...

  6. 翻转单词顺序和左旋转字符串

    输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母一样处理. 例如输入字符串"I am a student.",则输出"stu ...

  7. 剑指Offer - 面试题24. 反转链表(遍历/递归)

    1. 题目 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-&g ...

  8. 剑指offer面试题[16]-反转链表

    题目描述 输入一个链表,反转链表后,输出链表的所有元素. 解决与链表相关的问题总是有大量的指针操作,而指针操作的代码总是容易出错的的.很多面试官喜欢出链表相关的问题,就是想通过指针操作来考查应聘者的编 ...

  9. 剑指offer面试题24. 反转链表(双指针)

    题目描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 思路 详见链接 代码 class Solution:def reverseList(self, head:ListN ...

最新文章

  1. asp.net 域名欺骗式开发
  2. 逻辑心理测试题:三囚分汤
  3. 基于场效应管2N3819制作非接触电压检测 - 购买到假货了
  4. php无法加载Memcache缓存模块问题及Memcache的安装
  5. Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
  6. 独角兽导航带音乐带后台带客服
  7. 【BZOJ1607】轻拍牛头,筛一筛
  8. TLS握手、中断恢复与证书中心的原因
  9. dex2jar工具及问题
  10. pandas报错:columns overlap but no suffix specified
  11. 一些数据采集卡使用过程中常见问题
  12. cpci无法检索_图书馆无法进行CPCI-S检索 - 北京大学图书馆(PKULibrary)版 - 北大未名BBS...
  13. 大数据命令,一文在手,全部都有(送纯净版文档)
  14. 布袋除尘器过滤风速多少_布袋除尘器过滤风速的选择
  15. java后端扇形图实现
  16. 算法与程序设计相关知识
  17. Oracle Check约束
  18. jQuery 用click() 失效,不起作用,直接父级使用on事件委托不好使
  19. 基于java的项目总结
  20. 《React扩展知识一》setState更新状态2种写法/ lazyLoad / Fragment / Context / Hooks

热门文章

  1. 用 C# 实现带键值的优先队列
  2. Google Perf Tools安装以及使用
  3. 平衡查找树C语言程序,C语言数据结构之平衡二叉树(AVL树)实现方法示例
  4. python序列操作_序列操作
  5. 计算机 图论基础知识,计算机基础知识
  6. 直击微信公开课:2019年小程序将会有哪些改变?
  7. JDBC连接各种数据库的方法(经典)
  8. 你了解的工厂模式可能有误
  9. 天猫精灵X1获德国红点设计大奖
  10. 架构之旅~底层提供一个统一的GetModel()的重要性