题目:给定数组str[],循环左移m位。即如果str=”ABCDEF”,循环左移2位得到 “CDEFAB”。算法:使用两个倒序,倒序AB得到BA,倒序CDEF得到FEDC,最后全部BAFEDC全部倒序CDEFAB。 1234567891011121314151617181920 #include <iostream> using namespace std; void (char *str,int left,int right) { char tmp; for(int i=left,j=right;i<j;i++,j--) { str[i]=str[j]; str[j]=tmp; } } void shift(char *str,int m, int len) { reverse(str,0,m-1); reverse(str,m,len-1); reverse(str,0,len-1); } 赞微海报分享
近期评论