算法修炼之路—【字符串】Leetcode 709 转换成小写字母

文章目录

  • 题目描述
    • 思路分析
    • 解题代码
    • 复杂度分析
    • Github源码

题目描述

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

示例1:

输入: “Hello”
输出: “hello”

示例2:

输入: “here”
输出: “here”

示例3:

输入: “Lovely”
输出: “lovely”

思路分析

题目难度为简单 ,这里需要的就是遍历字符串,判定大写字母字符并转换成小写字母字符,这里唯一需要注意的一点是ASCII码表中的大小写字母码数相差32
我们使用StringBuiler为辅助容器,这里直接给出代码:

解题代码

    public static String solution(String s) {
        if(s == null) return null;
        
        StringBuilder res = new StringBuilder();
        
        for(int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            if(c < 'a')
                c = (char) (c + 32);
            res.append(c);
        }
        
        return res.toString();
    }

复杂度分析

时间复杂度: 这里对每个字符进行了一次访问,时间复杂度为O(n);
空间复杂度: 借用StringBuilder为辅助容器,故空间复杂度为O(n)

Github源码

完整可运行文件请访问GitHub。

你可能感兴趣的:(算法修炼之路)