面试题答案
一键面试fn transpose(matrix: &[&[i32]]) -> Vec<Vec<i32>> {
let rows = matrix.len();
let cols = matrix[0].len();
let mut transposed = vec![vec![0; rows]; cols];
for i in 0..rows {
for j in 0..cols {
transposed[j][i] = matrix[i][j];
}
}
transposed
}
你可以这样调用这个函数:
fn main() {
let matrix: &[&[i32]] = &[&[1, 2, 3], &[4, 5, 6], &[7, 8, 9]];
let result = transpose(matrix);
println!("{:?}", result);
}