摘要: 题目:92. 反转链表 II - 力扣(LeetCode) (leetcode-cn.com) 思路1: 递归 将链表中的left到right的部分反转,可以转换成以left为头节点head的前n(right-left+1)个结点的逆转 先思考将链表的前n个结点逆转的算法: ListNode suc 阅读全文
posted @ 2022-05-01 23:20 MintMin 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 题目:206. 反转链表 - 力扣(LeetCode) (leetcode-cn.com) 思路1: 迭代 对链表迭代,遍历到每一个元素,让该元素指针前一个节点; 这里需要注意的是要注意保存前驱节点以及后驱节点; 代码: /** * Definition for singly-linked list 阅读全文
posted @ 2022-05-01 20:10 MintMin 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 题目: 160. 相交链表 - 力扣(LeetCode) (leetcode-cn.com) 思路: 要找到相交链表的第一个结点。可以先让链表A和链表B走相等的距离,指针第一次相遇时就是相交相交链表的第一个结点; 注意: 指针1走完A链表,再走B链表;指针2走完B链表,再走A链表; 代码如下: /* 阅读全文
posted @ 2022-05-01 19:50 MintMin 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目:19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) (leetcode-cn.com) 思路1: 设链表的长度为n,删除倒数第k个结点;倒数第k个节点即是第n-k+1个节点; 一般的思路是先遍历链表得到长度n,再找到第n-k+1个节点的前驱节点n-k,对其删除。需要对两个进行两 阅读全文
posted @ 2022-05-01 19:38 MintMin 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目:876. 链表的中间结点 - 力扣(LeetCode) (leetcode-cn.com) 思路: 该题可以使用快慢指针的方法,根据慢指针走1步,快指针走2步的情况, a.如果链表的节点个数为奇数,则有一个中间节点: 可以推出当快指针fast到达链表最后一个节点的时候(fast != null 阅读全文
posted @ 2022-05-01 18:42 MintMin 阅读(14) 评论(0) 推荐(0) 编辑