网站导航结构营销型外贸网站制作
网站导航结构,营销型外贸网站制作,铁岭建设银行网站,网页怎么做SouthLeetCode-打卡24年02月第1周
// Date : 2024/02/01 ~ 2024/02/04
034.合并两个有序链表
(1) 题目描述
034#LeetCode.21.#北岸计划2024/02/01
将两个升序链表合并为一个新的 升序 链表并返回。
新链表是通过拼接给定的两个链表的所有节点组成的。
(2) 题解代码
cla…SouthLeetCode-打卡24年02月第1周
// Date : 2024/02/01 ~ 2024/02/04
034.合并两个有序链表
(1) 题目描述
034#LeetCode.21.#北岸计划2024/02/01
将两个升序链表合并为一个新的 升序 链表并返回。
新链表是通过拼接给定的两个链表的所有节点组成的。
(2) 题解代码
class Solution {private ListNode mergeLists(ListNode curr, ListNode list) {while (list ! null) {int curVal list.val;curr.next new ListNode(curVal);curr curr.next;list list.next;}return curr;}public ListNode mergeTwoLists(ListNode list1, ListNode list2) {ListNode dummy new ListNode();ListNode curr dummy;while (list1 ! null list2 ! null) {boolean condition list1.val list2.val;int curVal condition ? list1.val : list2.val;curr.next new ListNode(curVal);curr curr.next;if (condition) {list1 list1.next;} else {list2 list2.next;}}curr mergeLists(curr, list1);curr mergeLists(curr, list2);return dummy.next;}
}035.合并K个升序链表
(1) 题目描述
035#LeetCode.23.#北岸计划2024/02/01
给你一个链表数组每个链表都已经按升序排列。
请你将所有链表合并到一个升序链表中返回合并后的链表。
(2) 题解代码
class Solution {public ListNode mergeKLists(ListNode[] lists) {int size lists.length;ListNode curr;int curVal;ListNode dummy new ListNode();ListInteger result new ArrayList();for(int i0 ; isize ; i){curr lists[i];while(curr ! null){curVal curr.val;result.add(curVal);curr curr.next;}}Collections.sort(result);int length result.size();ListNode resDummy new ListNode();curr resDummy;for(int k0 ; klength ; k){curr.next new ListNode(result.get(k));curr curr.next;}return resDummy.next;}
}036.链表的中间结点Ⅰ
(1) 题目描述
036#LeetCode.NULL.#北岸计划2024/02/03
给你单链表的头结点 head 请你找出并返回链表的中间结点。
如果有两个中间结点则返回第一个中间结点。
(2) 题解代码
public class MiddleNodeFor1 implements MiddleNode {Overridepublic ListNode middleNode(ListNode head){ListNode dummy new ListNode();dummy.next head;ListNode slow dummy;ListNode fast head;while(fast ! null){slow slow.next;fast fast.next;fast fast ! null ? fast.next : fast;}return slow;}
}037.链表的中间结点Ⅱ
(1) 题目描述
037#LeetCode.876.#北岸计划2024/02/03
给你单链表的头结点 head 请你找出并返回链表的中间结点。
如果有两个中间结点则返回第二个中间结点。
(2) 题解代码
class Solution {public ListNode middleNode(ListNode head) {ListNode dummy new ListNode();dummy.next head;ListNode slow dummy;ListNode fast dummy;while(fast ! null){slow slow.next;fast fast.next;fast fast ! null ? fast.next : fast;}return slow;}
}038.分隔链表
(1) 题目描述
038#LeetCode.86.#北岸计划2024/02/04
给你一个链表的头节点 head 和一个特定值 x 请你对链表进行分隔
使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。
你应当 保留 两个分区中每个节点的初始相对位置。
(2) 题解代码
class Solution {public ListNode partition(ListNode head, int x) {if(head null) return null;ListNode curr head;ListInteger list new ArrayList();int curVal;while(curr ! null){list.add(curr.val);curr curr.next;}ListInteger sList new ArrayList();for(int i0 ; ilist.size() ; i){curVal list.get(i);if(curVal x){sList.add(curVal);list.remove(i);i--;}}for(int j0 ; jlist.size() ; j){curVal list.get(j);sList.add(curVal);}ListNode newHead new ListNode(sList.get(0));curr newHead;for(int k1 ; ksList.size() ; k){curVal sList.get(k);curr.next new ListNode(curVal);curr curr.next;}return newHead;}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89836.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!