[leetcode][javascript]Remove Linked List Elements

来源:互联网 发布:windows端口及端口号 编辑:程序博客网 时间:2024/06/05 23:47

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毫秒



0 0
原创粉丝点击