题解 | #数字字符串转化成IP地址#

数字字符串转化成IP地址

https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @return string字符串一维数组
#
class Solution:
    def restoreIpAddresses(self , s: str) -> List[str]:
        # write code here
        n = len(s)
        res = []
        if n < 4 or n > 12:
            return res
        
        def dfs(cur: str, idx: int, count: int) -> None:
            if idx == n and count == 4:
                res.append(cur[:-1])
                return
            
            if n - idx > (4 - count) * 3 or n - idx < 4 - count:
                return
            
            num, i = 0, idx
            while i < idx + 3 and i < n:
                num = num * 10 + int(s[i])
                if num <= 255:
                    cur += s[i]
                    dfs(cur + '.', i + 1, count + 1)
                if num == 0:
                    break
                i += 1
        dfs('', 0, 0)
        return res

全部评论

相关推荐

2025-12-29 20:37
已编辑
清华大学附属小学 Java
哇哇的菜鸡oc:1.为什么要写这么多内容呀 2.什么叫做简历 3.什么样的内容可以写到简历上 4.项目可以包装,但是要有理有据呀,不能乱包装呀,比如 跨境能达到日均120万订单的在国内都是能叫的上名字的,而且这些工作也基本上不太会交给一个实习生去做 建议友友可以去网上或者找同学的简历看看,他们的简历是怎么写的,去找找上面的那四个问题的答案吧,然后要记住的是Java是服务于业务的,而不是服务于微服务或者技术的
最后再改一次简历
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务