当前位置: 首页 > wzjs >正文

空调网站模版如何用百度上传图片做网站外链

空调网站模版,如何用百度上传图片做网站外链,hao123浏览器,合肥市建设厅网站rust函数递归在14中已经提到,接下来我们把206.反转链表,用递归法实现 递归函数通常包含两个主要部分: 基准条件(Base Case):递归终止的条件,避免无限递归。 递归步骤(Recursive Ste…

rust函数递归在14中已经提到,接下来我们把206.反转链表,用递归法实现

递归函数通常包含两个主要部分:

        基准条件(Base Case):递归终止的条件,避免无限递归。

        递归步骤(Recursive Step):将问题分解为更小的子问题,并调用自身来解决这些子问题。

 //Definition for singly-linked list.#[derive(PartialEq, Eq, Clone, Debug)]pub struct ListNode {pub val: i32,pub next: Option<Box<ListNode>>}impl ListNode {#[inline]fn new(val: i32) -> Self {ListNode {next: None,val}}}pub fn reverse(mut pre : Option<Box<ListNode>>,mut cur : Option<Box<ListNode>>) -> Option<Box<ListNode>> {if let Some(mut node) = cur.take() {//如果不为空使用temp先保存node.next, 然后让node.next指向prelet mut temp = node.next;node.next = pre;//递归调用return reverse(Some(node), temp);    } else {pre}
}
pub fn reverse_list(head: Option<Box<ListNode>>) -> Option<Box<ListNode>> {let mut pre: Option<Box<ListNode>> = None;return reverse(pre, head);
}// 辅助函数:打印链表内容不转移所有权
fn print_list(head: Option<&Box<ListNode>>) {match head {Some(node) => {let mut current = Some(node); // 初始化当前节点指针while let Some(node) = current {print!("{} -> ", node.val);current = node.next.as_ref(); // 使用 as_ref() 获取对 next 的引用}println!("None");}None => {println!("链表为空");}}
}// 函数:将 i32 数组转换为链表并返回头节点
fn array_to_list(arr: Vec<i32>) -> Option<Box<ListNode>> {let mut head: Option<Box<ListNode>> = None;let mut current: &mut Option<Box<ListNode>> = &mut head;for &val in arr.iter().rev() { // 从后往前构建链表let new_node = Box::new(ListNode {val,next: current.take(), // 取出当前节点并设置为新节点的 next});*current = Some(new_node); // 更新当前节点current = &mut head;       // 指向头节点}head
}fn main() { let arr = vec![1, 2, 3, 4, 5];// 调用函数创建链表let head = array_to_list(arr);// 打印链表print_list(head.as_ref()); // 使用 as_ref() 避免转移所有权let node = reverse_list(head);print_list(node.as_ref());}

总结,用递归首先需要确定终止条件,在翻转链表中,终止条件就是cur为空,然后返回pre, 如果不为空先保存node.next(cur.next)到临时变量temp中,然后node.next=pre,最后递归直到为空返回

http://www.dtcms.com/wzjs/554858.html

相关文章:

  • 承德工程建设信息网站wordpress采集优酷视频
  • 网站建设公司转型做什制作wordpress插件
  • 贵州网站开发制作公司做电影种子下载网站违法吗
  • 网站建设与网络设计课程phpcms 怎么做视频网站首页
  • 有声直播网站建设如何做摄影网站
  • 网站建站 宝网站 收费
  • 北京网站排名公司陕西省建设教育培训网
  • 室内设计有哪些网站行业做门户网站挣钱吗
  • 晋城市公用事业建设局网站建筑云平台
  • 做网站第一部wordpress织梦扩展
  • 做网站版头图片free wordpress themes
  • 怎么做网站首页psd学习建设网站书籍
  • 网站建设上线多久自助建站免费建站平台
  • 网站宣传与推广网站期刊怎么做
  • 网站建设 网页设计 的文章rails 开发的网站开发
  • 惠州建站平台北京建站方案
  • 标识设计厂家南昌网站怎么做seo
  • 35互联网站建设域名续费一般多少钱一年
  • 网站 多服务器旅游网页设计论文5000字
  • 上海网站推广企业百度站长工具app
  • 无锡 网站建设中国软件企业十强
  • 中国建设银行招聘网站首页搜索案例的网站有哪些
  • 华强北做电子网站建设设计师可以做兼职的网站
  • php靓号网站源码ps网页制作培训机构
  • 广东省住房建设厅网站合肥seo代理商
  • 哈尔滨flash网站网页设计品牌网页设计公司
  • 丹徒网站建设哪家好微信应用平台开发
  • 百度站长如何添加网站私密浏览器免费版
  • 先备案先建网站外国的免费网站网站
  • WordPress人物插件宁波seo做排名