输入一个链表,反转链表后,输出链表的所有元素。就地逆转,头插法
思路:就地逆转,头插法
package com.mytest.mymain;/*class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class ReverseListNode { public static void main(String[] args) { ListNode A=new ListNode(1); ListNode B=new ListNode(2); ListNode C=new ListNode(3); ListNode D=new ListNode(4); ListNode E=new ListNode(5); A.next=B; B.next=C; C.next=D; D.next=E; ReverseListNode testListNode=new ReverseListNode(); ListNode ls=testListNode.ReverseList(A); System.out.PRintln(ls.next.val); } public ListNode ReverseList(ListNode head) { if(head==null){ return null; } if(head.next==null){ return head; } ListNode newhead=head; ListNode p=head.next,q=head.next; newhead.next=null; while(p.next!=null){ q=p.next; p.next=newhead; newhead=p; p=q; } p.next=newhead; newhead=p; return newhead; }}
新闻热点
疑难解答