var moveZeroes = function(nums) { var num1=0,num2=1; while(num1!=num2){ nums.forEach(function(x,y){ if(x===0){ nums.splice(y,1); nums.push(0); } num1 = nums ; }); nums.forEach(function(x,y){ if(x===0){ nums.splice(y,1); nums.push(0); } num2 = nums ; }); } };
這題自己並不難,只是方法要考慮好就最好了,用到方法forEach(),splice(),push()node
/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number[]} */ var intersection = function(nums1, nums2) { var arrt1 = [], i = 0; nums1.forEach(function(x,y){ nums2.forEach(function(z,v){ if(z==x){ arrt1[i]=x; i++; } }); }); var ret = []; for (var k = 0; k < arrt1.length; k++) { var item = arrt1[k]; if (ret.indexOf(item) === -1) { ret.push(item); } } return ret; };
這題個人思路是先將兩個數組遞歸遍歷,將有重複的部分都存進某個數組,而後數組去重!可是這樣在效率上很低,大約擊敗7%左右的人,僅僅是個可用可是很差用的方法數組
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} node * @return {void} Do not return anything, modify node in-place instead. */ var deleteNode = function(node) { node.val=node.next.val; node.next=node.next.next; };
【注】一道鏈表題,題目很簡單,不過一開始沒讀懂。算是複習一下鏈表。this