leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String
344. Reverse String
最基础的旋转字符串
class Solution {
public:
void reverseString(vector<char>& s) {
if(s.empty())
return;
int start = ;
int end = s.size() - ;
while(start < end){
char tmp = s[end];
s[end] = s[start];
s[start] = tmp;
start++;
end--;
}
return;
}
};
541. Reverse String II
旋转k个字符,然后间隔k个字符不旋转,再旋转k个字符。z
注意:一般最后都会剩下几个不够k个的字符,如果这些字符的前一次字符进行了旋转,就不旋转;如果前一次没有进行旋转,就需要旋转。其实就是奇数次旋转,偶数次不旋转
class Solution {
public:
string reverseStr(string s, int k) {
if(s.empty())
return "";
int m = s.size()/k;
int i = ;
for(;i < m;i++){
if(i % == )
reverse(s,i*k,(i+)*k - );
}
if(i % == )
reverse(s,i*k,s.size()-);
return s;
}
void reverse(string& s,int start,int end){
while(start < end){
char tmp = s[end];
s[end] = s[start];
s[start] = tmp;
start++;
end--;
}
return;
}
};
796. Rotate String
暴力方法就是将A每个位置就行旋转然后和B进行比较判断
本方法:如果A、B个数相等,如果(A+A)中包含B的话,说明A一定能通过偏移得到B
class Solution {
public:
bool rotateString(string A, string B) {
return A.size() == B.size() && (A + A).find(B) != string::npos;
}
};
http://www.cnblogs.com/grandyang/p/9251578.html
string的find函数找不到返回的是npos,不是true、false,也不是-1
https://blog.csdn.net/qq_33933704/article/details/79188028
leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String的更多相关文章
- 代码随想录第八天 |344.反转字符串 、541. 反转字符串II、剑指Offer 05.替换空格 、151.翻转字符串里的单词 、剑指Offer58-II.左旋转字符串
第一题344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 s 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这 ...
- 796. Rotate String - LeetCode
Question 796. Rotate String Solution 题目大意:两个字符串匹配 思路:Brute Force Java实现: public boolean rotateString ...
- 【Leetcode_easy】796. Rotate String
problem 796. Rotate String solution1: class Solution { public: bool rotateString(string A, string B) ...
- 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包
一.匿名函数 以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 课上练习: # 正常函数: def func(a, b): return a + b print(func(4, 6)) ...
- 【LeetCode】796. Rotate String 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- [LeetCode&Python] Problem 796. Rotate String
We are given two strings, A and B. A shift on A consists of taking string A and moving the leftmost ...
- 796. Rotate String旋转字符串
[抄题]: We are given two strings, A and B. A shift on A consists of taking string A and moving the lef ...
- 796. Rotate String
class Solution { public: bool rotateString(string A, string B) { if(A.length()==B.length()&& ...
- [LC] 796. Rotate String
We are given two strings, A and B. A shift on A consists of taking string A and moving the leftmost ...
随机推荐
- [HTML/CSS]三角形
CSS盒子模型 当我们把padding和width,height全部设置为0,border设为一个较大的像素时 即:我们需要什么方向的三角形,只需把其余的三角形背景色设置为transparent:
- CSS3效果:animate实现点点点loading动画效果(二)
box-shadow实现的打点效果 简介 box-shadow理论上可以生成任意的图形效果,当然也就可以实现点点点的loading效果了. 实现原理 html代码,首先需要写如下html代码以及cla ...
- iOS ----------怎么修改xcode默认打开方式
很简单就能解决:选中文件,右键,显示简介,打开方式,选择8.2.然后打钩.
- testNG安装一直失败解决方法
1.在eclipse界面选择“Help”--"Eclipse Marketplace"中进行查找TestNG 然后进“install” (成功) 2.在eclipse界面选择“He ...
- OneAPM 重磅登陆 CTDC 2018展示“ AIOps 双雄”创新实力
9月7日-8日,以“AI 智享未来”为主题的2018第二届 CTDC 首席技术官领袖峰会在乌镇盛大召开,大会由 CTOA 首席技术官领袖联盟.ITShare 主办,大会邀请了国内外顶级互联网.在线教育 ...
- LeetCode题解之Sum Root to Leaf Numbers
1.题目描述 2.问题分析 记录所有路径上的值,然后转换为int求和. 3.代码 vector<string> s; int sumNumbers(TreeNode* root) { tr ...
- github提交代码失败
向github上面提交代码,提示代码里面有大文件,建议使用git-lfs. 1,安装git-lfs yum install git-lfs 2,配置需要追踪的打文件(由于我这里提交的是jar包) gi ...
- SqlServer通用存储过程
1.增删改—通用存储过程 --增删改 存储过程create proc Infos_InsertUpdateDelete( @Id int, @Name varchar(50), @DataTable_ ...
- 自动化测试基础篇--Selenium浏览器操作
摘自https://www.cnblogs.com/sanzangTst/p/7462056.html 学习 Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法 ...
- c/c++ 链栈
c/c++ 链栈 链栈 下面的代码实现了以下功能 函数 功能描述 push 压入 pop 弹出 show_list 打印 clear 释放所有内存空间 destroy 释放所有内存空间 nodesta ...