leetcode-每日打卡-day 6

leetcode 每日打卡

附上kuangbin大佬话激励自己:
人一我百,人十我万,追逐青春的梦想,怀着自信的心,永不放弃!
2020.2.13


记录下来自己做题时得思路,并不一定是最优解

面试题58 - II. 左旋转字符串

class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        return s[n:len(s)]+s[:n]

1108. IP 地址无效化

解法一
class Solution:
    def defangIPaddr(self, address: str) -> str:
        return address.replace('.','[.]')

解法二
class Solution:
    def defangIPaddr(self, address: str) -> str:
        ans = ''
        for i in address:
            if i == '.':
                ans+='[.]'
            else:
                ans += i
        return ans

709. 转换成小写字母

内置方法
class Solution:
    def toLowerCase(self, str: str) -> str:
        return str.lower()

class Solution:
    def toLowerCase(self, str: str) -> str:
        ans = ""
        for i in str:
            if i >= 'A' and i <= 'Z':
                ans += chr(ord(i) + 32)
            else:
                ans += i
        return ans

面试题15. 二进制中1的个数

class Solution:
    def hammingWeight(self, n: int) -> int:
        ans = 0
        while n > 0:
            ans += n & 1
            n = n >> 1
        return ans

面试题 16.01. 交换数字

class Solution:
    def swapNumbers(self, numbers: List[int]) -> List[int]:
        # 如何利用位运算交换两个数
        # swqp(a,b): 执行以下三步
        # a = a ^ b ; b = a ^ b;  a = a ^ b;
        numbers[0] = numbers[0] ^ numbers[1]
        numbers[1] = numbers[0] ^ numbers[1]
        numbers[0] = numbers[0] ^ numbers[1]
        return numbers

猜你喜欢

转载自www.cnblogs.com/wlw-x/p/12305666.html