自学内容网 自学内容网

C语言 | Leetcode C语言题解之第423题从英文中重建数字

题目:

题解:

char * originalDigits(char * s)
{
    int len=strlen(s);
    int arr[26]={0},num[10]={0},cot=0;
    for(int i = 0; i < len; i++)
        arr[s[i] - 'a']++;
    num[0] = arr['z'-'a'];
    num[2] = arr['w'-'a'];
    num[4] = arr['u'-'a'];
    num[6] = arr['x'-'a'];
    num[8] = arr['g'-'a'];
    num[1] = arr['o'-'a'] - num[4] - num[2] - num[0];
    num[3] = arr['t'-'a'] - num[2] - num[8];
    num[5] = arr['f'-'a'] - num[4];
    num[7] = arr['s'-'a'] - num[6];
    num[9] = arr['i'-'a'] - num[8] - num[6] - num[5];
    for(int i = 0;i<10;i++)
        for(int j = 0;j<num[i];j++)
            s[cot++]='0'+i;
    s[cot]=0;
    return s;
}

原文地址:https://blog.csdn.net/m0_59237910/article/details/142428591

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!