码迷,mamicode.com
首页 > 其他好文 > 详细

反转链表,时间复杂度O(n),空间复杂度O(1)

时间:2015-11-30 19:57:59      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

原理:使用三个指针,p,q指向交换的元素,r指向后续元素

代码如下:

class Node{
	int data;
	Node next; 
	Node(int data){
		this.data=data;
	}
}


 Node reverse(Node head) {
		if(head==null || head.next==null) return head;
		Node p=head,q=p.next,r=q.next;
		q.next=p;p.next=null;
		while(r!=null){
			p=q;
			q=r;
			r=r.next;
			q.next=p;
		}
		return q;
	}
}

  

反转链表,时间复杂度O(n),空间复杂度O(1)

标签:

原文地址:http://www.cnblogs.com/mlz-2019/p/5008053.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!