当前位置: 面试刷题>> 摊平二维向量 (经典算法题500道)
### 题目描述补充
**题目:摊平二维向量**
给定一个二维向量(或称为二维数组、二维列表),其中每个元素可能是一个整数或者是一个新的二维向量。你的任务是编写一个函数,该函数能够遍历这个二维向量,将所有嵌套的二维向量“摊平”成一个一维向量(或称为一维数组、一维列表),其中只包含整数。
**示例输入**:
```python
[[1, 2, [3]], [4, [5, 6]]]
```
**示例输出**:
```python
[1, 2, 3, 4, 5, 6]
```
### PHP 示例代码
```php
function flattenVector($vector) {
$result = [];
foreach ($vector as $item) {
if (is_array($item)) {
$result = array_merge($result, flattenVector($item));
} else {
$result[] = $item;
}
}
return $result;
}
// 测试
$input = [[1, 2, [3]], [4, [5, 6]]];
$output = flattenVector($input);
print_r($output);
```
### Python 示例代码
```python
def flatten_vector(vector):
result = []
for item in vector:
if isinstance(item, list):
result.extend(flatten_vector(item))
else:
result.append(item)
return result
# 测试
input_vector = [[1, 2, [3]], [4, [5, 6]]]
output_vector = flatten_vector(input_vector)
print(output_vector)
```
### JavaScript 示例代码
```javascript
function flattenVector(vector) {
let result = [];
vector.forEach(item => {
if (Array.isArray(item)) {
result = result.concat(flattenVector(item));
} else {
result.push(item);
}
});
return result;
}
// 测试
const inputVector = [[1, 2, [3]], [4, [5, 6]]];
const outputVector = flattenVector(inputVector);
console.log(outputVector);
```
**码小课网站中有更多相关内容分享给大家学习**,包括但不限于算法题解、数据结构、编程技巧等,欢迎访问码小课网站深入学习。