首页 > 其他分享 >【链表3】反转链表

【链表3】反转链表

时间:2022-11-22 12:35:15浏览次数:45  
标签:head ListNode val 反转 链表 null curNode


题目描述


输入一个链表,反转链表后,输出链表的所有元素。


/*
public class ListNode {
int val;
ListNode next = null;

ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head == null)
return head;

ListNode reverseHeadNode = null;
ListNode preNode =null;
ListNode curNode = head;

while(curNode != null){
//保存当前结点的下个结点
ListNode nextNode = curNode.next;
//如果保存的当前结点的下个结点是null,说明到达链表尾部,返回
if(nextNode == null){
reverseHeadNode= curNode;
}

//指针反转
curNode.next = preNode;//当前指针指向前一个,防止链表断开
preNode = curNode;//当前值赋给前面一个值
curNode = nextNode;//下个值赋给当前值
}
return reverseHeadNode;

}
}



标签:head,ListNode,val,反转,链表,null,curNode
From: https://blog.51cto.com/u_15886477/5877680

相关文章

  • 【链表1】从尾到头打印链表
    题目描述输入一个链表,从尾到头打印链表每个节点的值。 输入描述:输入为链表的表头输出描述:输出为需要打印的“新链表”的表头这题有很多方法,可以先遍历链......
  • 【链表5】两个链表的第一个公共结点
    题目描述输入两个链表,找出它们的第一个公共结点。如:链表1:1>>>2>>>3>>6>>>7   链表2:4>>>5>>6>>>7最优解:交叉遍历两个链表,寻找公共节点:/*publicclassListNode{in......
  • 【链表6】链表中环的入口结点
    题目描述一个链表中包含环,请找出该链表的环的入口结点。/*publicclassListNode{intval;ListNodenext=null;ListNode(intval){this.val=......
  • 【链表7】删除链表中重复的结点
    题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->5/*publicclass......
  • golang算法-链表逆序
    前言链表逆序,表述的场景为:A->B->C->D逆序后:D->C>B>A分析需要插入数据,Insert方法需要打印数据,Print方法插入数据时,需要定位最后一个节点,LastNode方法最少需要两个偏移量......
  • golang算法-判断链表是否有环
    前言链表有环,体现为:A->B->C->D->B…分析需要将遍历过的节点存入map,以址为key,空struct为值遍历时,当前节点是否已存在,存在即有环。实现链表//链表的长度,不包过头typeNode......
  • C/C++员工通讯录(链表实现)
    C/C++员工通讯录(链表实现)一、设计一个员工通讯录(如编号、身份证号码、姓名等),用单链表实现员工通讯录的存储和增删改查等操作。通讯录链表的建立;通讯者信息的插入;通讯......
  • 4.队列、栈、链表
    目录一、队列1.什么是队列2.抽象数据类型Queue3.python实现ADTQueue4.举例热土豆问题(约瑟夫问题)5.举例:打印队列二、双端队列1.什么是双端队列?2.抽象数据类型Deque3.pytho......
  • 【算法】Java解答有序链表转换二叉搜索树,从中序与后序遍历序列构造二叉树
    有序链表转换二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差......
  • 反转字符串 II
    indexOf();查找指定字符是在字符串中的下标。在则返回所在字符串下标;不在则返回-1.Integer.parseInt();将字符串转化为int;char[]pre=s.toCharArray();intn=pre.length......