题目
给定两个 01 字符串 a 和 b ,请计算它们的和,并以二进制字符串的形式输出。
输入为 非空字符串且只包含数字 1 和 0。
示例 1:
输入: a = “11”, b = “10”
输出: “101”
示例 2:
输入: a = “1010”, b = “1011”
输出: “10101”
提示:
每个字符串仅由字符 ‘0’ 或 ‘1’ 组成。
1 <= a.length, b.length <= 10^4
字符串如果不是 “0” ,就都不含前导零。
解题
#二进制求和
a='1010'
b='1011' #给定任意两个二进制数
a=eval('0b'+a)
b=eval('0b'+b) #加前导零转成十进制
c=str(bin(a+b))[2:] #将已经转成十进制的数相加后转成二进制,然后转成字符串,最后用切片去除前导零
print(c) #输出结果
最后一个单词的长度
题目
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:
输入:s = “Hello World”
输出:5
解释:最后一个单词是“World”,长度为 5。
示例 2:
输入:s = " fly me to the moon "
输出:4
解释:最后一个单词是“moon”,长度为 4。
示例 3:
输入:s = “luffy is still joyboy”
输出:6
解释:最后一个单词是长度为 6 的“joyboy”。
提示:
1 <= s.length <= 104
s 仅有英文字母和空格 ’ ’ 组成
s 中至少存在一个单词
解题
#最后一个单词长度
s=' Hello World and ' #给定一个字符串
a=0 #给定计数变量
s1=s.strip() #使用strip方法去除前后空格
for i in s1[::-1]: #倒序遍历去过空格的字符串
if i==' ':
break #如果遍历到空格(,那么跳出循环
a+=1 #否则将计数变量加1
print(a) #输出