
链表
深夜的雨声
这个作者很懒,什么都没留下…
展开
-
leetcode重排链表
题目描述:给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。例子1:输入:head = [1,2,3,4]输出:[1,4,2,3]例子2:输入:head = [1,2,3,4,5]输出:[1,5,2,4,3]代码实现:/** * Defi原创 2022-03-18 17:02:23 · 503 阅读 · 0 评论 -
反转链表实现
力扣206题:反转链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(原创 2022-03-09 12:40:46 · 838 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。时间限制:1秒空间限制:32768Kclass Solution {public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> vec, ArrayList; //定义...原创 2019-04-27 12:17:24 · 152 阅读 · 0 评论 -
复杂链表的复制(不同于剑指offer方法)
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)剑指offer上面给的方法有点出乎意料,一般情况下想不到,这里给出正常思路的方法。基本思想:先不考虑特殊指针,对链表进行复制,等链表复制成功后再确定每个节点特殊指针的...原创 2019-07-16 09:44:46 · 144 阅读 · 0 评论