Python进制转换与ASCII转换

进制转换方法

1、字符串其他进制转整型十进制

int(s,2)将字符串s当作二进制转换为10进制整型。如int('11',2)的值为3。

int(s,16)将字符串s当作十六进制转换为10进制整型。如int('11',16)的值为17。

2、整型十进制转字符串其他进制

1、bin(x)将整型十进制转换为二进制字符串。如bin(6)的值为"110"

2、oct(x)将整型十进制转换为八进制字符串。

3、hex(x)将整型十进制转换为十六进制字符串。

【例】力扣第67题二进制求和:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为 非空 字符串且只包含数字 1 和 0。

class Solution:
    def addBinary(self, a: str, b: str) -> str:
        x ,y= int(a,2),int(b,2)
        res = x+y
        return bin(res)[2:]

ASCII转换方法

1、字符转ASCII

ord()函数。如ord('a')为97

2、ASCII转字符

chr()函数。如chr(65)'A'

【例】力扣第409题最长回文串:给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。

class Solution:
    def longestPalindrome(self, s: str) -> int:       
        l = [0]*58
        temp = 0
        #创建一个记录字符串中字符的数组
        for i in s:
            l[ord(i)-ord('A')]+=1
        #统计数组中出现了奇数次字符的个数即为差值temp
        for j in l:
            if j%2!=0:
                temp+=1
        #如果字符串中的字符全部是成对出现的,返回字符串的长度
        if temp == 0:
            return len(s)
        #如果字符串中有temp个出现了奇数次的字符,比如aabbbccc,那么肯定要         删除一个b或者一个c才能构成回文字符串。
        else:
            return len(s)-temp+1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值