[swift] LeetCode 394. Decode String

栏目: Swift · 发布时间: 7年前

内容简介:Given an encoded string, return it’s decoded string.The encoding rule is:You may assume that the input string is always valid; No extra white spaces, square brackets are well-formed, etc.

Given an encoded string, return it’s decoded string.

The encoding rule is: k[encoded_string] , where the  encoded_string inside the square brackets is being repeated exactly  k times. Note that  k is guaranteed to be a positive integer.

You may assume that the input string is always valid; No extra white spaces, square brackets are well-formed, etc.

Furthermore, you may assume that the original data does not contain any digits and that digits are only for those repeat numbers, k . For example, there won’t be input like  3a or  2[4] .

Examples:

s = "3[a]2[bc]", return "aaabcbc".
s = "3[a2[c]]", return "accaccacc".
s = "2[abc]3[cd]ef", return "abcabccdcdcdef".
func decodeString(_ s: String) -> String {
    var stack = [String]()
    s.forEach {
        switch $0 {
        case "]":
            var s = "", i = ""
            while let c = stack.popLast(), c != "[" {
                s = "\(c)\(s)"
            }
            while let sl = stack.last, nil != Int("\(sl)"), let c = stack.popLast() {
                i = "\(c)\(i)"
            }
            stack.append(String(repeating: s, count: Int(i)!))
        default:
            stack.append(String($0))
        }
    }
 
    return stack.joined()
}
[swift] LeetCode 394. Decode String [swift] LeetCode 394. Decode String

(随着网站访问量的激增,服务器配置只得一再升级以维持网站不“404 Not Found”,所以网站的维护费用也在不断上涨……(目前的阿里云服务器ECS+云数据库RDS+域名购买+七牛云的费用是2200元/年),为了能不放弃该网站,所以我又把打赏链接放上来啦~所有打赏金额都会被记账并投入博客维护中,感谢厚爱,多多关照~)


以上所述就是小编给大家介绍的《[swift] LeetCode 394. Decode String》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

网络多人游戏架构与编程

网络多人游戏架构与编程

格雷泽 (Joshua Glazer)、马达夫 (Sanjay Madhav) / 王晓慧、张国鑫 / 人民邮电出版社 / 2017-10-1 / CNY 109.00

本书是一本深入探讨关于网络多人游戏编程的图书。 全书分为13章,从网络游戏的基本概念、互联网、伯克利套接字、对象序列化、对象复制、网络拓扑和游戏案例、延迟、抖动和可靠性、改进的延迟处理、可扩展性、安全性、真实世界的引擎、玩家服务、云托管专用服务器等方面深入介绍了网络多人游戏开发的知识,既全面又详尽地剖析了众多核心概念。 本书的多数示例基于C++编写,适合对C++有一定了解的读者阅读。本......一起来看看 《网络多人游戏架构与编程》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具