
刷题
米米太阳花
这个作者很懒,什么都没留下…
展开
-
剑指5.用两个栈实现队列
题目:用两个栈实现队列的push和Pop操作思路:先进先出,实现两个函数。两个栈inStack,outStack,实现转移const inStack = [];const outStack = [];function push(node){ inStack.push(node); }function pop(node){ if(outStack.length){ return outStack.pop(); } else{ while(inStack.length){原创 2021-03-23 09:12:19 · 176 阅读 · 0 评论 -
剑指4.重建二叉树
题目:输入二叉树的前序和中序遍历(且无重复数字),重建二叉树。思路:二叉树:val,left,right属性递归,输入为数组,输出为treeNode节点function reConstructTree(pre,mid){ if(!pre.length || !mid.length){ return null; } const rootVal = pre[0]; const node = new TreeNode(rootVal); //i有两个含义,一个是遍历的中序下标;一个是中序原创 2021-03-22 09:37:21 · 112 阅读 · 0 评论 -
剑指3.从尾到头打印链表
题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。思路:链表:val,next属性从尾到头打印,后进先出,用栈存储function printListFromTailToHead(head){ let stack = []; while(head){ stack.push(head.val); head = head.next; } return stack.reverse(); }时间复杂度O(N)...原创 2021-03-21 17:32:09 · 106 阅读 · 0 评论 -
剑指2.替换空格
题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:1.遍历插入2.js正则3.js中的split()和join()方法-----------------1.暴力遍历-------------function replaceSpace(s){ let res = ''; for(let i=0;i<s.length;i++){ if(s[i] === ''){原创 2021-03-21 13:36:57 · 75 阅读 · 0 评论 -
剑指1.二维数组中的查找
题目:在一个二维数组中(每个一维数组的维数都相同),每一行按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。完成一个函数,输入一个二维数组和整数,判断二维数组中是否有该整数。思路:从右上角开始查询,左边比它小,右边比它大.function Find(target, array) { const rowNum = array.length; const colNum = array[0].length; if(!rowNum) { return false; } if(!c原创 2021-03-19 19:14:21 · 78 阅读 · 0 评论 -
1297.子串出现的最大次数
题目:给定字符串s,找到满足条件的出现次数最多的子字符串,返回最大的出现次数。条件:子串中不同字母数目<macLetters;子串的长度大于等于minSize,小于等于maxSize思路:只需要检查minSize的子串,maxSize的子串包含minSizevar maxFrequ = function(s,maxLetters,minSize,maxSize){ let map = new Map(); let max = 0; for(let i=0;i<s.length-原创 2020-09-09 15:24:53 · 143 阅读 · 0 评论 -
1332.删除回文子序列
1332.删除回文子序列原创 2020-09-03 14:37:58 · 237 阅读 · 0 评论 -
211.添加与搜索单词,数据结构设计
211.添加与搜索单词,数据结构设计实现addWord(),search()1.字典树节点类class TrieNode{ constructor(val = null){ this.val = val; this.children = new Map(); this.isWord = false; }}2.初始化字典树,并实现添加和搜索class wordDictonary{ constructor(){ this.root = new TrieNode(null);原创 2020-09-02 09:25:45 · 108 阅读 · 0 评论 -
208.字典树
208.实现一个字典树知识补充:1.字典树:即单词查找树,Trie树,哈希树的变种。用于统计、排序、保存大量字符串(不仅限于字符串),在搜索引擎的词频统计常用,利用公共前缀减少查询时间。特点:根节点不包含任何字符,除根节点之外,每个节点仅包含一个字符从根节点起,到某个节点路径上的所有节点字符连接起来,为该节点对应的字符串每个节点的子节点包含的字符各不相同...原创 2020-08-31 14:00:39 · 126 阅读 · 0 评论