算法题分享:给定一个字符串,由“0”,“1”和“?”组成,其中“?”可以替换成0或1,求所有可能的结果

目录

今天看到了一个比较有意思的题,发现leetcode上没有,网上也没参考答案,所以自己写了个和大家分享下。

题目

给定一个字符串,由“0”,“1”和“?”组成,其中“?”可以替换成0或1,求所有可能的结果

例子:

    • “0” => [“0”]
    • “?” => [“0”, “1”]
    • “0?” => [“00”, “11”]
    • “??” => [“00”, “01”, “10”, “11”]

解答

比较常规的排列组合题目了,不说思路了,直接看答案。

class solution:

    def replace(self,string):

        result = []
        self.dfs(string,0,"",result)
        
        return result

    def dfs(self,string,pos,curr,result):
        
        if pos == len(string):
            result.append(curr)

        while pos < len(string) and string[pos] != "?":
            curr += string[pos]
            pos += 1

        if pos == len(string):
            result.append(curr)
        else:
            self.dfs(string,pos+1,curr + "0",result)
            self.dfs(string,pos+1,curr + "1",result)

 

 

看完了?留个评分呗?
[0人评了分,平均: 0/5]

本站原创文章皆遵循“署名-非商业性使用-相同方式共享 3.0 (CC BY-NC-SA 3.0)”。转载请保留以下标注:

原文来源:《算法题分享:给定一个字符串,由“0”,“1”和“?”组成,其中“?”可以替换成0或1,求所有可能的结果》

发表评论

邮箱地址不会被公开。

返回顶部