
字符串操作
昨夜的秋天
这个作者很懒,什么都没留下…
展开
-
(原创)单词翻转
1.循环移位例:abcd循环移位一次就是bcda循环移位两次就是cdab循环移位三次就是dabc结论:长度为n,循环移位m次其实就是,移位m%n次。编程思路:前m%n位翻转,后m-m%n位翻转。再总体翻转一次。举一反三:以上为循环左移动,如果是右移动呢?编程思路:前m-m%n位翻转,后m%n位翻转,再总体翻转一次。2.单词翻转例:I'm a student. 翻转之后结果:student. a I...原创 2018-03-19 13:59:51 · 408 阅读 · 0 评论 -
题:0-1串交换统计
把0-1串(只包含0、1)进行排序,可以交换任意两个位置的数,要求最后串中的0全部在左边,1全部再右边,问最少需要多少次交换?分析:最左边的0和最右边的1都不用管int ans=0,i=0,j=len-1;while(i<j){ while(i<j&&arr[i] == 0) {i++;} while(i<j&&arr...原创 2018-03-19 14:20:19 · 440 阅读 · 0 评论 -
删除数组中的a和复制数组中的b
一个字符串要删除数组中的a,可以使用前向赋值。int i=newlen-1,j=len-1;for(;j>=0;j--){ if(arr[j] != 'a') arr[i++]=arr[j];}一个字符串要复制数组中的b,可以使用后向赋值(前提是空间足够大,一般题中会注明)int i=newlen-1,j=len-1;for(;j>=0;j--){ arr[...原创 2018-03-19 14:34:57 · 375 阅读 · 0 评论