本文最后更新于 199 天前,其中的信息可能已经有所发展或是发生改变。
给你一个 二进制 字符串 s
,其中至少包含一个 '1'
。
你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。
以字符串形式,表示并返回可以由给定组合生成的最大二进制奇数。
注意 返回的结果字符串 可以 含前导零。
提示:
1 <= s.length <= 100
s
仅由'0'
和'1'
组成s
中至少包含一个'1'
class Solution(object):
def maximumOddBinaryNumber(self, s):
a = list(s)
count_1 = a.count('1')
count_0 = a.count('0')
finally_list = []
if count_1 == 0:
return s
elif count_1 == 1:
finally_list.extend(['0']*count_0 + ['1'])
return ''.join(finally_list)
else:
finally_list.extend(['1'] * (count_1 - 1) + ['0'] * count_0 + ['1'])
return ''.join(finally_list)
标准答案:
class Solution:
def maximumOddBinaryNumber(self, s: str) -> str:
cnt = s.count('1')
return '1' * (cnt - 1) + '0' * (len(s) - cnt) + '1'