您的位置:首页 > Web前端 > JavaScript

[leetcode][javascript]Remove Linked List Elements

2015-06-23 20:33 786 查看
Remove Linked List Elements

两个版本,一个原始版(196ms),一个略微优化过的版本(176ms)

感觉leetcode对js的支持还是有些问题,两版本提交的结果还是有些差异的。

/**
* Definition for singly-linked list.
* function ListNode(val) {
*     this.val = val;
*     this.next = null;
* }
*/
/**
* @param {ListNode} head
* @param {number} val
* @return {ListNode}
*/
var removeElements = function(head, val) {
var node = [];
var proc =function(head,val){
if(head.val !=val){
node.push(head.val);
}
if(!!head.next){
proc(head.next,val);
}
};
if(!!head){
proc(head,val);
}
return node;
};
运行结果是196ms

/**
* Definition for singly-linked list.
* function ListNode(val) {
*     this.val = val;
*     this.next = null;
* }
*/
/**
* @param {ListNode} head
* @param {number} val
* @return {ListNode}
*/
var removeElements = function(head, val) {
var node = {next:[]},header = node;
while(!!head){
if(head.val != val){
node.next = head;
node = head;
}
head = head.next;
}
node.next = null;
return header.next;
};


运行结果176ms 放弃使用递归,和数组操作,换来20毫秒
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: