0
点赞
收藏
分享

微信扫一扫

Leetcode1881. 插入后的最大值

那小那小 2022-02-25 阅读 50

Every day a leetcode

题目来源:1881. 插入后的最大值

解法:贪心

n有两种情况:

  1. n大于0时,把x插在第一个比x小的数之前
  2. n小于0时,把x插在第一个比x大的数之前

代码:

char * maxValue(char * n, int x){
    int len=strlen(n);
    char *ans;
    ans=(char*)malloc((len+2)*sizeof(char));
    int index=0;
    bool insert=false;

    if(n[0] == '-')
    {
        ans[index++]='-';
        for(int i=1;i<len;i++)
        {
            int cur=n[i]-'0';
            if(insert == false && cur>x)
            {
                ans[index++]=x+'0';
                insert=true;
            }
            ans[index++]=n[i];
        }
    }
    else
    {
        for(int i=0;i<len;i++)
        {
            int cur=n[i]-'0';
            if(insert == false && cur<x)
            {
                ans[index++]=x+'0';
                insert=true;
            }
            ans[index++]=n[i];
        }
    }
    if(insert == false) ans[index++]=x+'0';
    ans[index]='\0';

    return ans;
}

结果:
在这里插入图片描述

举报

相关推荐

0 条评论