摘要: 算法学习之字符串左移和右移1.设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附加变量。方法一:每次将数组中的元素右移一位,循环K次,则实现了右移K位。例如,原始字符串:abcd1234右移一位:4abcd123右移一位:34abcd12右移一位:234abcd1右移一位:1234abcd循环4次,则实现了右移4次实现函数如下:voidright_shift(char*str,intN,intK){chartemp;K%=N;//目的是,当K>N时,移动K次与移动K-i*N次是一样的。while(K--){t=str[N-1];for(int 阅读全文
posted @ 2013-07-29 16:57 chasu 阅读(530) 评论(0) 推荐(0) 编辑