709. 转换成小写字母

第一次尝试

  实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。LeetCode链接

  • 方法:创建地图进行比较,其实我们可以不创建地图来进行,直接使用 ascll 码表的值来进行,如果字符在大写字符范围内,那么就将其变成对应的小写,也就是加上 32,但是这样做有一个风险,那就是如果某天 ascll 码表变化了,那该怎么办呢(当然这个问题很难发生,但是不排除可能性)?
  • 因此,像这种代码,我们可以自己制作一个简单的地图,来存放需要比较的信息,这样我们就可以长久的使用该代码来执行此功能,不用担心有什么变数;
char* toLowerCase(char* str){
	//地图代码,用来存放待比较信息
    char* map1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char* map2 = "abcdefghijklmnopqrstuvwxyz";
    //设置临时变量,用来保存入口地址
    char* s = str;
    //循环比较,直到字符串结束
    while(*s){
        for(int i =0; i < 26; i++){
        //如果某个字符是 map1 中的,那么就是大写,我们将其替换为 map2 中对应位置的小写
            if(map1[i] == *s){
                *s = map2[i];
                break;
            }
        }
        s++;
    }
    return str;
}
上一篇:layui时间选择timestamp后时间全都一样?


下一篇:PTA数据结构-02-线性结构2 一元多项式的乘法与加法运算