题解 | #左旋转字符串#

左旋转字符串

http://www.nowcoder.com/practice/12d959b108cb42b1ab72cef4d36af5ec

class Solution { public: string LeftRotateString(string str, int n) { string ret=""; if(str.size()==0){ return ""; } else if(n>str.size()&&str.size()!=0){ int length=str.size(); length=n%length; for(int i=length;i<str.size();++i){ ret+=str[i]; } for(int i=0;i<length;++i){ ret+=str[i]; } } else{ for(int i=n;i<str.size();++i){ ret+=str[i]; } for(int i=0;i<n;++i){ ret+=str[i]; } } return ret; } };

(1)首先判断字符串的长度是否为0,为零的话输出""; if(str.size()==0){ return ""; } (2)接下来判断当字符串长度不为0且位移量n大于字符串的长度时,取位移量除字符串长度的余数, 令length=余数,利用for循环,将str[length]及后面的字符都按顺序赋给空字符串ret,然后再将 str[length]前面的字符串按顺序赋值给字符串ret. (3).当位移量n大于等于字符串长度时,将str[n]及后面的字符都按顺序赋给空字符串ret,然后再将 str[n]前面的字符串按顺序赋值给字符串ret. (4).最后返回ret.

全部评论

相关推荐

今天 11:32
已编辑
微软_sde(实习员工)
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
09-24 18:30
已编辑
长春工业大学 产品经理
小肥罗:HR就是好人的缩写哈哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务