实现一个函数,可以左旋字符串中的k个字符。
例如:
#1ABCD左旋一个字符得到BCDA
#2ABCD左旋两个字符得到CDAB
由此图可知,其字符串长度为4,每次经历四次左旋后又回到了初始 位置,所以是以字符串长度len为一个循环,记左旋k次, 则 每次实际左旋的次数为k%len,
方法一: 每左旋一次,左旋字母移动至最后,其余元素都往前进一位。故可以建立循环,每次将待左旋的元素放入字符型tmp上,其余元素都往前进一次,最后再把左旋元素放在最后,代码如图所示:
方法二:库函数法:
函数introduce:
1.拷贝函数
strcpy(arr,arr1); 将arr1中的数据拷贝到arr中
strcat(str2,str); 在str2的后面拼接str;
strncat(str2,str,n); 在str2的后面拼接n个str的元素l;
具体实现方案如下:
方法三: 三段法进行逆置:
如图所示,将待左旋字符(a、b)进行交换,然后再将未左旋字符进行逆置,最后再将整体逆置一次,得到左旋后的字符,具体实现方案如下:
今天的介绍就到此位置了,喜欢的老铁们点个赞再走吧!