【链表3】反转链表

来源:互联网 发布:数据库中级工程师证书 编辑:程序博客网 时间:2024/06/06 03:33

题目描述

输入一个链表,反转链表后,输出链表的所有元素。
/*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;            }}


0 0