classSolution{publicListNodereverseList(ListNode head){ListNodepre=null, temp =null;while(head !=null){ temp = head.next; head.next = pre; pre = head; head = temp;}re
LeetCode 206:反转链表 【题意】 给出单链表的头节点 head,反转链表,返回反转后的链表。 【示例】 输入:head = [1, 2, 3, 4, 5] 输出:[5, 4, 3, 2, 1] 注意,如果是空链表 输入:head = [] 输出:[] 【提示】 0 <= 链表节点数 <= 5000 -5000 <= Node.val <= 5000 【题目解析】 水题...
206. 反转链表 反转链表 - 反转链表 - 力扣(LeetCode)leetcode-cn.com/problems/reverse-linked-list/solution/fan-zhuan-lian-biao-by-leetcode/ 题目描述 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL ...
206. 反转链表简单 相关标签 相关企业 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] 输出:[2,1] 示例3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -...
solution1 206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? solution 1:循环迭代 classSolution{publicListNodereverseList(ListNode head){//循环迭代, 三指针ListNodeprev=null;ListNode...
classSolution(object):defreverseList(self, head):# 递归终止条件是当前为空,或者下一个节点为空if(head==Noneorhead.next==None):returnhead# 这里的newHead就是最后一个节点newHead = self.reverseList(head.next) head.next.next= head# 防止链表循环,需要将head.next设置为空head.next=None# 每层递归...
链接:206. 反转链表 - 力扣(LeetCode) 2、题目描述 给你单链表的头节点head,请你反转链表,并返回反转后的链表。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 示例1: 输入: head=[1,2,3,4,5]输出:[5,4,3,2,1] 代码语言:javascript ...
LeetCode 206——反转链表 对单链表进行反转有迭代法和递归法两种。 1. 迭代法 迭代法从前往后遍历链表,定义三个指针分别指向相邻的三个结点,反转前两个结点,即让第二个结点指向第一个结点。然后依次往后移动指针,直到第二个结点为空结束,再处理链表头尾即可。
# self.next=NoneclassSolution:defreverseList(self,head:ListNode)->ListNode:ifnot head or head.next==None:returnhead p1=head.next p2=self.reverseList(p1)head.next=None p1.next=headreturnp2 过程: 首先是: 然后是以p1为头结点的链表:
简介:从小白开始刷算法 ListNode 链表篇 leetcode.206 题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2: 输入:head = [1,2] 输出:[2,1] //ListNode 节点class ListNode {int val;ListNode next;ListNode() {}...