首页 > 学院 > 开发设计 > 正文

输入一个链表,反转链表后,输出链表的所有元素。就地逆转,头插法

2019-11-08 01:42:55
字体:
来源:转载
供稿:网友

输入一个链表,反转链表后,输出链表的所有元素。就地逆转,头插法

思路:就地逆转,头插法

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;    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表