zoukankan      html  css  js  c++  java
  • [Swift]LeetCode709. 转换成小写字母 | To Lower Case

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址: https://www.cnblogs.com/strengthen/p/10506475.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    Implement function ToLowerCase() that has a string parameter str, and returns the same string in lowercase. 

    Example 1:

    Input: "Hello"
    Output: "hello"
    

    Example 2:

    Input: "here"
    Output: "here"
    

    Example 3:

    Input: "LOVELY"
    Output: "lovely"

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

    示例 1:

    输入: "Hello"
    输出: "hello"

    示例 2:

    输入: "here"
    输出: "here"

    示例 3:

    输入: "LOVELY"
    输出: "lovely"

    Runtime: 4 ms
    Memory Usage: 19.6 MB
     1 class Solution {
     2     func toLowerCase(_ str: String) -> String {
     3         return String(str.unicodeScalars.map { (s) -> Character in
     4             if s.value >= 65 && s.value <= 90 {
     5                 return Character(UnicodeScalar(s.value + 32)!)
     6             }
     7             return Character(UnicodeScalar(s))
     8         })
     9     }
    10 }

    Runtime: 4 ms
    Memory Usage: 19.8 MB
     1 class Solution {
     2     func toLowerCase(_ str: String) -> String {
     3         var arr:[Character] = Array(str)
     4         for i in 0..<arr.count
     5         {
     6             var char:Character = arr[i]
     7             if char >= "A" && char <= "Z"
     8             {
     9                 arr[i] = (char.ascii + 32).ASCII
    10             }
    11         }
    12         return String(arr)
    13     }
    14 }
    15 
    16 //Character扩展 
    17 extension Character  
    18 {  
    19   //Character转ASCII整数值(定义小写为整数值)
    20    var ascii: Int {
    21        get {
    22            return Int(self.unicodeScalars.first?.value ?? 0)
    23        }       
    24     }    
    25 }
    26 
    27 //Int扩展
    28 extension Int
    29 {
    30     //Int转Character,ASCII值(定义大写为字符值)
    31     var ASCII:Character 
    32     {
    33         get {return Character(UnicodeScalar(self)!)}
    34     }
    35 }

    4ms

     1 class Solution {
     2     func ord(ch: String) -> Int? {
     3     for st in ch.utf16 {
     4         return Int(st)
     5     }
     6     return nil
     7 }
     8 
     9 func ord(val: UInt16) -> Character? {
    10     if let us  = UnicodeScalar(val){
    11         return Character(us)
    12     }
    13     return nil
    14 }
    15     
    16     func toLowerCase(_ str: String) -> String {
    17     guard str.count > 0 else {
    18         return ""
    19     }
    20     var s = Array(str)
    21     for ch in s.enumerated() {
    22         if var ordVal = ord(ch: String(ch.element)), ordVal >= 65 && ordVal <= 90 {
    23             ordVal = ordVal + 32
    24             if let modVal = ord(val: UInt16(ordVal)) {
    25                 s[ch.offset] = modVal
    26             }
    27         }
    28     }
    29     return String(s)
    30     }
    31 }

    19040kb

     1 class Solution {
     2     
     3     func toLowerCase(_ str: String) -> String {
     4         var word = String()
     5         for i in str.utf8{
     6             var i = i
     7             if i >= 65 && i <= 90 {
     8                 word.append(Character(UnicodeScalar(i + 32)))
     9             }
    10             else {
    11                 word.append(Character(UnicodeScalar(i)))
    12             }
    13         }
    14         return word
    15     }
    16 }

    19112kb

     1 class Solution {
     2     func toLowerCase(_ str: String) -> String {
     3         return String(str.utf8.map({ (ascii) -> Character in
     4             var charCode = Int(ascii)
     5             if 65 <= charCode && charCode <= 90 {
     6                 charCode += 32
     7             }
     8             return Character(UnicodeScalar(charCode)!)
     9         }))
    10     }
    11 }
  • 相关阅读:
    webpack+babel+transform-runtime, IE下提示Promise未定义?
    《Create Your own PHP Framework》笔记
    Windows,Mac与Linux哪个更适合开发者?
    微信公众号开发——通过ffmpeg解决amr文件无法播放问题
    Paypal如何实现循环扣款(订阅)?
    软件随想——为什么你需要提高软件的技术水平?
    react-native-image-picker在IOS上总是返回”Can’t find variable:response”的错误?
    解决angular-deckgrid高度不均衡和重加载的问题
    Linux多台服务器间SSH免密码登录配置
    关于macOS Sierra无法使用gdb进行调试的解决方案
  • 原文地址:https://www.cnblogs.com/strengthen/p/10506475.html
Copyright © 2011-2022 走看看