3 ms·
I would either use Object to be quick, or implement a NestedListItem with isNumber(), getNumber(), getList(). The one thing I do like about this problem is it
by ng12 10y ago
I would either use Object to be quick, or implement a NestedListItem with isNumber(), getNumber(), getList().
The one thing I do like about this problem is it shows when TDD is useful. If you try to write a test case first the representation problem will be the very first thing you run into, and the code will mostly follow from there.
- wz1000 10y agoPersonally, I think this problem shows why sane type systems are useful. In Haskell data NestedList a = Single a | Nested [NestedList a] -- Or equivalently, type NestedList = Free [] flatten :: NestedList a -> [a] -- This is pretty much the only reasonable definition of flatten the compiler will accept given this type flatten (Single a) = [a] flatten (Nested xs) = concatMap flatten xs -- or given the Free variation of NestedList -- flatten = retract
- dllthomas 10y agoNot necessarily. See my bash solution in another comment :-D