首页 > 其他分享 >剑指 Offer 58 - II. 左旋转字符串

剑指 Offer 58 - II. 左旋转字符串

时间:2023-03-14 16:23:59浏览次数:38  
标签:end 58 Offer int 旋转 II 字符串 string

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

 1 class Solution {
 2 public:
 3     void reverse(string& s, int start, int end) { //翻转,区间写法:左闭右闭 []
 4         for (int i = start, j = end; i < j; i++, j--) {
 5             swap(s[i], s[j]);
 6         }
 7     }
 8     string reverseLeftWords(string s, int n) {
 9         if ((int)s.size() <= n) return s;
10         string front, last;
11         front.assign(s, 0, n);
12         last.assign(s, n , s.size() - n);
13         s = last + front;
14         return s;
15     }
16     string reverseLeftWords1(string s, int n) {
17        //先反转整个字符串,在分别反转前 size-n 个和后 n 个 
18         if ((int)s.size() <= n) return s;
19         reverse(s, 0, s.size() - 1);
20         reverse(s, 0, s.size() - n - 1);
21         reverse(s, s.size() - n, s.size() - 1);
22         return s;
23     }
24 };

 

标签:end,58,Offer,int,旋转,II,字符串,string
From: https://www.cnblogs.com/lihaoxiang/p/17215302.html

相关文章

  • 剑指 Offer 68 - II. 二叉树的最近公共祖先(java解题)
    (剑指Offer68-II.二叉树的最近公共祖先(java解题))1.题目给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T......
  • .netCore Swagger 发布到IIS 问题
    1.安装DotNetCore.2.0.8-WindowsHosting  2.https://dotnet.microsoft.com/en-us/download/dotnet/6.0  安装aspnetcore-runtime-6.0.11-win-x643.IIS应用池安装......
  • LeetCode142. 环形链表 II
    题目描述:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中......
  • 剑指 Offer 11.旋转数组的最小数字
    题目描述   解法二分查找思路:设i为左界,j为右界,中点为mid;将number[mid]与number[j]进行比较,会出现一下情况:number[mid]<number[j]时,说明number[mid]是最......
  • day58
    1、单调栈单调栈的使用场景通常是一维数组,要寻找任意一个元素的右边或左边第一个比自己大或者小的元素的位置单调栈的时间复杂度O(n)单调栈的原理单调栈......
  • CH582 CH592 CH573 PC指针打印(排查程序运行+死循环指示)
    代码调试如果需要程序死循环,又不晓得停在哪,可以通过打印PC指针进行定位,具体方法如下比如开启看门狗中断,开发方法参考CH573CH582CH579看门狗使用-debugdabiaoge-博......
  • python爬虫案列03,爬取58二手房信息
    importrequestsfromlxmlimportetreeurl="https://fy.58.com/ershoufang/?PGTID=0d100000-0091-53ca-4993-576198ca62e3"headers={"user-agent":"Mozilla/5.......
  • 转载自 https://blog.csdn.net/m0_52165864/article/details/126218082
    Linux系列之系统监控命令 目录1、top命令的使用1、系统统计信息2、系统进程信息2、free命令使用:内存3、df命令的使用:磁盘4、ps命令的使用5、crontab命令6、查看端口的......
  • 「解题报告」ARC158D Equation
    好神仙的题。考虑形如\(F(x,y,z)=x^i+y^i+z^i\)的函数有一个性质:\(F(tx,ty,tz)=t^iF(x,y,z)\)。原式要求\((x+y+z)(x^n+y^n+z^n)(x^{2n}+y^{2n}+z^{2n......
  • 四种语言刷算法之反转链表 II
    力扣92. 反转链表II1、C/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/structListNo......