核心提示:在进行单链表去重之前,我们先来考虑一下,数组如何就地去重。我们可以很容易的编写出这样的代码:如果通过正向遍历来删除的话,就要注意控制遍历的长度function arrRemoveRepeatFront...
       在进行单链表去重之前,我们先来考虑一下,数组如何就地去重。
我们可以很容易的编写出这样的代码:
如果通过正向遍历来删除的话,就要注意控制遍历的长度
function arrRemoveRepeatFront(arr) {
	for(var i=0; i
如果我们从数组尾部开始遍历,不用担心数组长度的改变。比较好理解function arrRemoveRepeatBack(arr) {
	var index = arr.length - 1;
	while(index >= 0) {
		if(arr.indexOf(arr[index]) < index) {
			arr.splice(index, 1);
		}
		index--;     // 注意看index 是在if里面还是外面。
	}
	return arr;
}
好,我们借鉴上面的思路,
function LinkedList() {
	var Node = function (element) {
		this.element = element;
		this.next = null;
	}
	var head = null;   // keep the head pointer
	var length = 0;    // keep the length of linked list
	this.append = function (element) {
		var new_node = new Node(element);
		if(head == null) {
			head = new_node;
		}else {
			var current = head;
			while(current.next != null) {
				current = current.next;
			}
			current.next = new_node;
		}
		length++;
	}
	this.insert = function (position, element) {
		var new_node = new Node(element);
		if(position <= 0) {
			new_node.next = head;
			head = new_node;
			length++;
			return;
		}
		if(position > this.size() -1) {
			this.append(element);
			return;
		}
		var current = head;
		for(var i=1; i this.size() - 1) {
			throw new Error("Array index exceeds");
		}
		if(position == 0) {
			head = head.next;
		} else {
			var current = head;
			for(var i=1; i 
 
						


 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                