字符串的移动

来源:互联网 发布:ubuntu进入grub界面 编辑:程序博客网 时间:2024/05/22 01:47

字符串为*号和26个字母的任意组合,把 *号都移动到最左侧,把字母移到最右侧并保持相对顺序不变,要求时间和空间复杂度最小。

#include <stdio.h>#include <stdlib.h>#define SIZE 100int main(void) {char str[SIZE] = "*hel***lo**wor*ld*";int len = strlen(str);//找到最后*的下标int index = len - 1;while (*(str + index) != '*') {index--;}int i;for (i = index - 1; i >= 0; --i) {if (str[i] != '*') {str[index--] = str[i];str[i] = '*';}}puts(str);return EXIT_SUCCESS;}



0 0
原创粉丝点击