西安地产网站建设,哈尔滨刚刚发生的大事件,兰州高端网站,网页设计制作软件力扣labuladong一刷day14天翻转单链表共2题 文章目录 力扣labuladong一刷day14天翻转单链表共2题一、06. 反转链表二、92. 反转链表 II 一、06. 反转链表
题目链接#xff1a;https://leetcode.cn/problems/reverse-linked-list/ 思路#xff1a; 迭代法#xff1a;新new一…力扣labuladong一刷day14天翻转单链表共2题 文章目录 力扣labuladong一刷day14天翻转单链表共2题一、06. 反转链表二、92. 反转链表 II 一、06. 反转链表
题目链接https://leetcode.cn/problems/reverse-linked-list/ 思路 迭代法新new一个虚拟头结点然后遍历当前链表每一个都紧跟着插入在虚拟头结点之后即可完成翻转。
class Solution {public ListNode reverseList(ListNode head) {ListNode root new ListNode();ListNode p1 root, p2 head;while (p2 ! null) {ListNode t p2;p2 p2.next;t.next null;t.next p1.next;p1.next t;}return root.next;}
}二、92. 反转链表 II
题目链接https://leetcode.cn/problems/reverse-linked-list-ii/ 思路和上一题类似只不过是要从left的位置开始插入到right停止。
class Solution {public ListNode reverseBetween(ListNode head, int left, int right) {ListNode root1 new ListNode(-1, head);ListNode p1 root1, p2 null;int i 1;while (p1.next ! null) {if (i left) break;p1 p1.next;i;}p2 p1.next;ListNode end p2;p1.next null;while (p2 ! null) {ListNode t p2;p2 p2.next;t.next p1.next;p1.next t;i;if (i right) {break;}}end.next p2;return root1.next;}
}