学习时间:
2023年1月29日
题目描述:
题解分享:
// 作 者 : 繁 华 倾 夏
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h> // 调用strlen函数
#include <stdlib.h> // 调用malloc函数
// 力扣(LeetCode):1309. 解码字母到整数映射
// s:传入的字符串
char* freqAlphabets(char* s) {
int len = strlen(s); // 统计字符串长度
char* re = (char*)malloc(sizeof(char) * len); // 创建返回字符串并初始化空间
int i = 0, j = 0;
for (i = 0; i < len; i++) { // 遍历字符串
if (i + 2 < len && s[i + 2] == '#') { // 当有长度为3并且第三个位置为#时
re[j++] = (s[i] - '0') * 10 + (s[i + 1] - '1') + 'a'; // 将字符串转变后返回re
i += 2; // 自增2
}
else {
re[j++] = s[i] - '1' + 'a'; // 将字符串转变后返回re
}
}
re[j] = '\0'; // 字符串最后需要赋'\0'
return re; // 返回
}
// 测试用例
// 输入 s = "10#11#12"
// 输出 "jkab"
int main() {
char s[] = "10#11#12";
char* re = s;
re = freqAlphabets(s);
puts(re);
return 0;
}
【繁华倾夏】【每日力扣题解分享】【Day15】