算法修煉之路—【字符串】Leetcode 709 轉換成小寫字母

題目描述

實現函數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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章