MST

星途 面试题库

面试题:Rust枚举与复杂模式匹配解构

定义如下Rust枚举: ```rust enum List { Cons(i32, Box<List>), Nil, } ``` 编写一个函数,该函数接收一个`List`类型的参数,使用模式匹配解构该枚举,计算链表中所有元素的总和并返回。例如,对于链表`Cons(1, Cons(2, Nil))`,返回值应为3。
40.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
enum List {
    Cons(i32, Box<List>),
    Nil,
}

fn sum_list(list: &List) -> i32 {
    match list {
        List::Cons(x, rest) => x + sum_list(rest),
        List::Nil => 0,
    }
}