函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函数并返回值为5。(要求使用尽量少的时间和辅助空间

类似快慢指针
i j初值为length - 1 ,如果为0则顺序会产生一定的颠倒
i指向字母,容易保证字母指针指的靠前(只要i指向字母 就跟j指向的*换位置,换位置后则i--,j-- ;i指向*号时,i-- count++)
j指向*

交换代码部分替换为
array[j] = array[i];
array[i] = '*';
为何出错?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>int fun(char array[])
{int length = strlen(array);int i, j, count;char temp;for(i = j = length - 1, count = 0; i >= 0; ){if(array[i] != '*'){temp = array[j];array[j] = array[i];array[i] = temp;i--;j--;}else{i--;count++;}        }    return count;
}int main()
{char a1[] = "ab**cd**e*12";printf("%d\n", fun(a1));puts(a1);return 0;
}

转载于:https://www.cnblogs.com/wwjyt/archive/2013/02/23/3153123.html

快慢指针____函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移相关推荐

  1. 【转】SQL函数:字符串中提取数字,英文,中文,过滤重复字符

    SQL函数:字符串中提取数字,英文,中文,过滤重复字符 --提取数字 IF OBJECT_ID('DBO.GET_NUMBER') IS NOT NULL DROP FUNCTION DBO.GET_ ...

  2. R语言str_trim函数去除字符串中头部和尾部的空格

    R语言str_trim函数去除字符串中头部和尾部的空格 目录 R语言str_trim函数去除字符串中头部和尾部的空格 #导入包和库 #仿

  3. R语言str_extract函数从字符串中抽取匹配模式的字符串

    R语言str_extract函数从字符串中抽取匹配模式的字符串 目录 R语言str_extract函数从字符串中抽取匹配模式的字符串 #导入包和库

  4. R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符、str_sub函数指定起始位置和终止位置替换子字符串

    R语言str_sub函数从字符串中提取或替换子字符串(substring):str_sub函数指定起始位置和终止位置抽取子字符.str_sub函数指定起始位置和终止位置替换子字符串 目录

  5. R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串、str_replace_all函数替换所有匹配到的

    R语言使用str_replace函数和str_replace_all函数替换字符串中匹配到的模式:str_replace函数替换第一个匹配到的字符串.str_replace_all函数替换所有匹配到的 ...

  6. R语言stringr包str_detect函数检测字符串中模式存在与否实战

    R语言stringr包str_detect函数检测字符串中模式存在与否实战 目录 R语言stringr包str_detect函数检测字符串中模式存在与否实战 #导入stringr包

  7. R语言nchar函数统计字符串中字符个数实战

    R语言nchar函数统计字符串中字符个数实战 目录 R语言nchar函数统计字符串中字符个数实战 #基础语法

  8. c语言c判断字符数字,c语言问题求教 利用函数判断字符串中是否全为数字

    c语言问题求教 利用函数判断字符串中是否全为数字 答案:4  信息版本:手机版 解决时间 2018-12-22 19:42 已解决 2018-12-22 08:52 c语言问题求教 利用函数判断字符串 ...

  9. PHP str_replace() 函数 替换字符串中的一些字符

    str_replace() str_replace() 定义:函数替换字符串中的一些字符(区分大小写) 该函数必须遵循下列规则: 1) 如果搜索的字符串是一个数组,那么它将返回一个数组. 如果搜索的字 ...

最新文章

  1. sed 每次只替换一行
  2. UVA 624 CD(01背包,要记录路径)
  3. 腾讯面试题Java 并发包之线程池综述
  4. html5数据提交到mysql,保存html5画布作为数据到mysql数据库
  5. 策略模式、上下文与内部类的思考
  6. 虚拟机VMware里 windows server 2003 扩充C盘方法
  7. 陈松松:如何锁定细分领域,视频营销才更容易持续做下去
  8. Bootstrap 基础五表格
  9. Linux防火墙-iptables
  10. 如何使用 Opencv 打开摄像头获取图像信息?
  11. TensorFlow应用实战-18-Policy Gradient算法
  12. boost库使用总结
  13. 手机投屏到电脑完美教程,安卓和苹果用户均可使用
  14. ThinkPad T61 X61安装XP系统的方法及xp驅動下載
  15. RNA-seq那些事儿
  16. GEE(python)雨天Gini指数
  17. 不露脸也可以做自媒体短视频,简单罗列几个易上手的领域
  18. MySQL基础(附练习题+答案)
  19. 学生信息管理系统的登陆
  20. 在Foxmail上创建北京邮电大学的邮箱

热门文章

  1. Hystrix和ribbon的超时时长准确配置的理论依据
  2. MySQL-proxy实现读写分离详细步骤
  3. 单片机课程设计数字心率计_课程设计-基于单片机的数字人体心率计设计.doc
  4. git clone报错:fatal: could not create work tree dir ‘code_update‘
  5. 1.2.5 计算机系统的多级层次结构(硬联逻辑级、微程序级、传统机器级、操作系统级、汇编语言级、高级语言级、应用语言级)
  6. 架构与设计 之一 C 嵌入式设计模式(Design Patterns for Embedded Systems in C)的学习记录
  7. 杨辉三角形递归c语言,关于【杨辉三角】的递归解决方法,请教。有没有大神【【高手】】...
  8. php获取d盘,软件装c盘和d盘的区别
  9. python 单元测试_Python系列之单元测试框架【unittest】
  10. AndroidStudio快速生成JNI头文件