Problem

Given a list, each element in the list can be a list or integer. flatten it into a simply list with integers.

If the element in the given list is a list, it can contain list too.


Example
Given [1,2,[1,2]], return [1,2,1,2].

Given [4,[3,[2,[1]]]], return [4,3,2,1].

思路

  • recursively flatten the list
    public List<Integer> flatten(List<NestedInteger> nestedList) {
        List<Integer> res = new ArrayList<>();
        for (NestedInteger ni: nestedList) {
            if (ni.isInteger()) {
                res.add(ni.getInteger());
            } else {
                res.addAll(flatten(ni.getList()));
            }
        }
        return res;
    }

results matching ""

    No results matching ""