农场里有 n 头牛,它们按照一定的顺序站成一排。现在,农场主想要重新组织牛群的结构。他有另外一群 m 头牛,想要将这些新牛插入到原来的牛群中。 给你两个链表 list1 和 list2,它们分别包含 n 头和 m 头牛的编号。请你将 list1 中下标从 a 到 b 的全部节点都删除(下标从0开始算),并将 list2 接在被删除节点的位置。 请你返回重新组织后的牛群链表的头指针。

区块链毕设网qklbishe.com为您提供问题的解答

农场里有 n 头牛,它们按照一定的顺序站成一排。现在,农场主想要重新组织牛群的结构。他有另外一群 m 头牛,想要将这些新牛插入到原来的牛群中。

给你两个链表 list1 和 list2,它们分别包含 n 头和 m 头牛的编号。请你将 list1 中下标从 a 到 b 的全部节点都删除(下标从0开始算),并将 list2 接在被删除节点的位置。

请你返回重新组织后的牛群链表的头指针。

pub fn mergeInBetween(&self, mut list1: Option<Box<ListNode>>, mut list2: Option<Box<ListNode>>, a: i32, b: i32) -> Option<Box<ListNode>> {     // 哨兵结点用于处理 a = 0的情况     let mut dummy = Some(Box::new(ListNode::new(0)));     dummy.as_mut().unwrap().next = list1;      // 记录list1断开后前半部分的尾结点     let mut cur1 = &mut dummy;     for i in 0..a {         cur1 = &mut cur1.as_mut().unwrap().next;     }      // 用来得到第二段的头结点     let mut cur2 = &mut cur1.as_mut().unwrap().next.take();     for i in a..b {         cur2 = &mut cur2.as_mut().unwrap().next;     }      // 用来记录 list2 的尾结点     let mut q = &mut list2;     // list2 的尾结点     while q.is_some() {         if q.as_ref().unwrap().next.is_none() {             break;         }         q = &mut q.as_mut().unwrap().next;     }      let mut tail = cur2.as_mut().unwrap().next.take();     q.as_mut().unwrap().next = tail;     cur1.as_mut().unwrap().next = list2.take();      dummy.unwrap().next }

07:43

以上就是关于问题农场里有 n 头牛,它们按照一定的顺序站成一排。现在,农场主想要重新组织牛群的结构。他有另外一群 m 头牛,想要将这些新牛插入到原来的牛群中。 给你两个链表 list1 和 list2,它们分别包含 n 头和 m 头牛的编号。请你将 list1 中下标从 a 到 b 的全部节点都删除(下标从0开始算),并将 list2 接在被删除节点的位置。 请你返回重新组织后的牛群链表的头指针。的答案

欢迎关注区块链毕设网-
web3一级市场套利打新赚钱空投教程

区块链NFT链游项目方科学家脚本开发培训

从业7年-专注一级市场


微信:btc9767
TELEGRAM :https://t.me/btcok9

具体资料介绍

web3的一级市场千万收益的逻辑


进群点我



qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有 n 头牛,它们按照一定的顺序站成一排。现在,农场主想要重新组织牛群的结构。他有另外一群 m 头牛,想要将这些新牛插入到原来的牛群中。 给你两个链表 list1 和 list2,它们分别包含 n 头和 m 头牛的编号。请你将 list1 中下标从 a 到 b 的全部节点都删除(下标从0开始算),并将 list2 接在被删除节点的位置。 请你返回重新组织后的牛群链表的头指针。