zoomdong
zoomdong
最小栈,这里维护两个栈就行了(因为时间复杂度要为O(1)) ```js /** * initialize your data structure here. */ var MinStack = function() { this.stack = [] this.minStack = [] } /** * @param {number} x * @return {void}...
模拟这个过程就行了: ```js /** * @param {number[][]} matrix * @return {number[]} */ var spiralOrder = function(matrix) { let res = [] if (matrix.length === 0 || matrix[0].length === 0) { return...
递归: ```js /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param...
递归即可: ```js /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param...
单纯的递归下去就行了: ```js /** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param...
直接模拟就可以啦: ```js /** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} head * @param...
比较单纯的双指针思想 ```js /** * @param {number[]} nums * @return {number[]} */ var exchange = function(nums) { let l = 0; let r = nums.length - 1; while(l < r) {...
这题我用递归写的: ```js /** * @param {string} s * @param {string} p * @return {boolean} */ var isMatch = function(s, p) { if (!p.length) { return !s.length; } let first_match =...
简单题,别丢分就行了: ```js function ListNode(val) { this.val = val; this.next = null; } /** * @param {ListNode} head * @param {number} val * @return {ListNode} */ var deleteNode = function(head, val)...
快速幂,徒手写就行了,判断一下正负即可: ```js /** * @param {number} x * @param {number} n * @return {number} */ var myPow = function(x, n) { let ans = 1; let flag = 0; if(n...