leetcode_206_反转链表
作者:互联网
题目描述
分析
链表从头到尾遍历一遍,然后就得到结果,这样时间复杂度就会最低。 对链表进行反转,即将链表中的每个结点的上一个结点转为下一个结点,下一个结点转为上一个结点。用两个结点preNode和nextNode来分别记录原链表中的上一个结点和下一个结点,然后进行转换,循环执行,即可得到结果。
代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null||head.next==null)
return head;
ListNode nextNode=null,preNode=null;
while(head!=null){
nextNode=head.next;
head.next=preNode;
preNode=head;
head=nextNode;
}
return preNode;
}
}
xiangfeihuanjue
发布了1 篇原创文章 · 获赞 0 · 访问量 27
私信
关注
标签:结点,ListNode,206,head,链表,null,preNode,leetcode 来源: https://blog.csdn.net/xiangfeihuanjue/article/details/104607002