剑指offer——反转链表

来源:互联网 发布:c语言中立方怎么表示 编辑:程序博客网 时间:2024/05/22 14:40

题目描述

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

思路:构造一个虚头结点,用尾插法依次将结点插入。最后返回虚头结点的下一个结点。

/*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 null;ListNode p =head.next;        //只有一个结点        if(p==null)return head;        //构造一个头结点        ListNode v = new ListNode(-1);while(head!=null){ListNode temp =head;head=head.next;temp.next=v.next;v.next = temp;if(p.next!=null)p=p.next;}return v.next;    }}

原创粉丝点击