2625. Flatten Deeply Nested Array
UnknownView on LeetCode
Advertisement
Intuition
Flatten nested array recursively. Each element is either integer or array. Recursive or iterative flattening.
Algorithm
- 1Recursive: for each item, if array recurse, else add to result.
Common Pitfalls
- •Straightforward recursion. Handle arbitrary nesting depth.
2625.ts
TypeScript
type MultiDimensionalArray = (number | MultiDimensionalArray)[];
var flat = function (arr: MultiDimensionalArray, n: number): MultiDimensionalArray {
function dfs(arr: number | MultiDimensionalArray, n: number) {
if (typeof arr === 'number') {
ans.push(arr);
} else if (n === 0) {
for (const element of arr) {
ans.push(element);
}
} else {
for (const element of arr) {
dfs(element, n - 1);
}
}
}
const ans: MultiDimensionalArray = [];
dfs(arr, n);
return ans;
};Advertisement
Was this solution helpful?