文章插图
1 题目描述给定一个仅包含数字的字符串 , 通过返回所有有效的IP地址组合来还原它 。
【Go语言实现LeetCode算法:93 还原IP地址】例子:
输入:
"25525511135"输出:
["255.255.11.135", "255.255.111.35"]题目出处:
https://leetcode.com/problems/restore-ip-addresses/
2 解决思路采用递归算法 , require标识所需的数字段 。
a)从最左分别取1-3个满足0~255的数字;
b)递归处理剩余字符串 , 且所需的数字段变为require-1;
c)若require为1 , 判断是否满足ip段内数字要求 , 满足返回 , 不满足返回空数组;
d)将a、b两步所得结果拼接为数组返回 。
3 golang实现代码https://github.com/olzhy/leetcode/blob/master/93_Restore_IP_Addresses/test.go
文章插图
4 问题以上算法时间复杂度多少?有更优的方案吗?欢迎留言讨论 。
原文:https://leileiluoluo.com/posts/leetcode-restore-ip-addresses.html
本文作者:磊磊落落的博客 , 原创授权发布
推荐阅读
- 一般分布式锁实现的套路
- Go语言实现LeetCode算法:413 等差数列切片
- 世界使用最广泛的语言
- Java 如何实现线程死锁?
- 九种跨域方式实现原理
- Go 语言标准库中最常用的标识符是什么?
- 微信小程序云开发,不借助额外服务端爬虫实现小说阅读小程序
- Android实现Rxjava2+Retrofit完美封装
- css实现五边形旋转效果代码
- Dart语言快速入门