
链表操作
Perrysky
喜欢编程
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode 24. 两两交换链表中的节点(中等) 递归法与非递归法(迭代法)
题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 来源:力扣(LeetCode) 思路: 1、迭代法整个思路是, pre,now,nex, nex->next; ...原创 2020-04-27 21:38:23 · 253 阅读 · 0 评论 -
leetcode 234. 回文链表(简单) 快慢指针 和 栈
题目描述: 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 思路: 首先想到的是: 用栈存下链表的所有结点值,然后链表头开始的遍历与栈顶元素比较,相等就出栈,继续移动比较,否则返回false (可...原创 2020-04-24 20:49:23 · 314 阅读 · 1 评论 -
Leetcode 206. 反转链表(简单) 递归法 和 迭代法
题目描述: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-linked...原创 2020-04-24 17:27:48 · 326 阅读 · 0 评论 -
Leetcode 92.反转链表II (中等)(递归反转单链表的一部分)
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* successor = NULL; //存放后驱节点 struct ListNode* reverseN(struct Li...原创 2020-03-19 22:55:55 · 309 阅读 · 0 评论 -
Leetcode 1290. 二进制链表转整数(简单) 位运算 的应用
题目描述: 给你一个单链表的引用结点head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。 请你返回该链表所表示数字的 十进制值 。 示例 1: 输入:head = [1,0,1] 输出:5 解释:二进制数 (101) 转化为十进制数 (5) 示例 2: 输入:head = [0] 输出:0 示例 3: 输入:head = [1] 输出...原创 2020-04-24 16:42:18 · 221 阅读 · 0 评论 -
Leetcode 82. 删除重复的数字(中等) 双指针
题目描述: 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中没有重复出现的数字。 示例1: 输入: 1->2->3->3->4->4->5 输出: 1->2->5 示例2: 输入: 1->1->1->2->3 输出: 2->3 思路: 用一个空指针指向链表头,然后通过 slow 和 fa...原创 2020-04-24 16:15:47 · 245 阅读 · 0 评论