93. Restore IP Addresses
problem description
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
Example:
algorithm thought
其实是一道典型的回溯法问题。首先第一个位置放一个字符,然后进如下一个函数,运行完回溯之后,放两个字符。然后是3个。中间判断非法情况,如果长度大于1并且第一个字符是'0',显然不行。如果转化为数字之后,数值大于255,显然也是不行的。如果所有情况都满足,最后将结果push到res中。
上面介绍的是回溯的情况,其实可以不需要回溯。因为肯定有4个地方需要我们放置数字,我们只需要3个循环,每个循环处理1-3个字符的情况。
code
algorithm analysis
虽然有4个循环,但是时间复杂度不会很大,因为每个循环就进行3次,循环中的操作时间复杂度可以近似看做O(1)。
Last updated