93. Restore IP Addresses 复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 ‘.’ 分隔。

示例:

输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]

暴力

今天这题虽然是中等难度,但是想要做出来并不是很困难,直接暴力枚举三个点就好了,然后判断一些特殊情况。

Code

	def restoreIpAddresses(self, s: str) -> List[str]:
		ans = []
		if len(s) > 12:
			return ans
		for i in range(1, len(s)):
			for j in range(i + 1, len(s)):
				for k in range(j + 1, len(s)):
					nums = [s[:i], s[i:j], s[j:k], s[k:]]
					for item in nums:
						if not item or (len(item) > 1 and item[0] == '0') or not (0 <= int(item) <= 255):
							break
					else:
						ans.append('.'.join(nums))
		return ans

你可能感兴趣的:(#,LeetCode)