單鏈表的倒置,就是將單鏈表翻轉過來,
最後一個節點當成是第一個節點,以此類推。
重新生成一個新的鏈表,只在第0個位置插入可以實現
/*測試函數*/
function test(arr) {
var link_list = new LinkedList();
for(var i=0; i<arr.length; ++i) {
link_list.append(arr[i]);
}
return link_list;
}
function linkedListReverse(linked_list) {
var new_linked_list = new LinkedList();
var current = linked_list.getHead();
while(current != null) {
new_linked_list.insert(0, current.element);
current = current.next;
}
return new_linked_list;
}
var arr = [10, 20, 30, 40];
var result = test(arr);
result.print();
var result_reverse = linkedListReverse(result);
result_reverse.print();
// arr.reverse()
function arrReverse(arr) {
var cnt = Math.floor(arr.length / 2);
var temp;
var len = arr.length - 1;
for(var i=0; i<cnt; ++i) {
temp = arr[i];
arr[i] = arr[len-i];
arr[len-i] = temp;
}
return arr;
}
console.log(arrReverse([1, 2, 3, 4]));
console.log(arrReverse([1, 2, 3, 4, 5]));