Flatten Nested List Iterator - Swift Solution @ LeetCode
Flatten Nested List Iterator, is a LeetCode problem. In this post we will see how we can solve this challenge in Swift
Problem Description
You can find the full details of the problem Flatten Nested List Iterator at LeetCode
Solution
Every time pop a element and push back until it is an integer.
Time Complexity I: next - O(1), hasNext - O(n), Space Complexity I: O(n)
Primary idea II: Flatten the nested list at very first.
Time Complexity II: next - O(1), hasNext - O(1), Space Complexity II: O(n)
// This is the interface that allows for creating nested lists.
// You should not implement it, or speculate about its implementation
class NestedInteger {
// Return true if this NestedInteger holds a single integer, rather than a nested list.
public func isInteger() -> Bool
// Return the single integer that this NestedInteger holds, if it holds a single integer
// The result is undefined if this NestedInteger holds a nested list
public func getInteger() -> Int
// Set this NestedInteger to hold a single integer.
public func setInteger(value: Int)
// Set this NestedInteger to hold a nested list and adds a nested integer to it.
public func add(elem: NestedInteger)
// Return the nested list that this NestedInteger holds, if it holds a nested list
// The result is undefined if this NestedInteger holds a single integer
public func getList() -> [NestedInteger]
}
Please check the main.swift snippet for the solution.
This solution originally posted at: Github by @soapyigu
Comments
Leave a comment
You are not LoggedIn but you can comment as an anonymous user which requires manual approval. For better experience please Login.