单链表的反转

       算法和数据结构就是编程的一个重要部分,你若失掉了算法和数据结构,你就把一切都失掉了。尤其对于我等应届毕业生来说,能出得了手的也只有这些了。

       对于校园招聘来说,互联网公司还是喜欢拿单链表的反转考验我们应届生的。话不多说,代码如下:


单链表的反转_第1张图片

 

package dataStructtion.linear;
/**
 * 单链表的反转
 * @author xiucai
 *
 */
public class SingleLinkedList_Reverse {
	public static  void reverse(SingleLinkedList list){
		Node p=list.head.next;
		Node pre=null;//指向前驱
		Node post=null;//指向后继
		while(p!=null){
			post=p.next;
			p.next=pre;
			pre=p;
			p=post;
		}
		list.head.next=pre;
	}
	public static void main(String[] args) {
		SingleLinkedList list=new SingleLinkedList();
		list.append("a");
		list.append("b");
		list.append("c");
		list.append("d");
		System.out.println(list);
		reverse(list);
		System.out.println(list);
	}
}

 
 

你可能感兴趣的:(数据结构,数据结构,线性表,单链表,反转,java)