基于visual Studio2013解决面试题之0909移动星号

这篇博客主要介绍了如何利用Visual Studio 2013来解答一道面试编程题,提供了详细的解题代码、代码下载链接以及运行步骤,包括设置启动项目和运行调试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




题目



解决代码及点评

/*
    函数将字符串中的字符'*' 移到串的前部分
	但是不能改变非*字符的顺序,比如a**b**c**经过变化后是******abc

	如果没有顺序的需求,那么只要跟奇偶站队一样进行交换

*/

#include <iostream>
using namespace std;

void ChangeStr(char *pszBuf)
{
    int nLen = strlen(pszBuf);
    int i = nLen - 1;
    int j = nLen - 1;

	// 从尾巴上开始遍历
    while (i >= 0)
    {
		// 如果i不是*号,那么拷贝到j位置,并且j--
        if (pszBuf[i] != '*')
        {
            pszBuf[j--] = pszBuf[i];
        }
		// 如果i位置上是不是*号,那么i都得继续往前移动
		// 这样的结果是i和j步调不一致
        i--;
    }

	// 最后j剩下的位置都填写上*号即可
    while (j >= 0)
    {
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值