栈的压入,弹出序列 Posted on 2019-08-13 | In 剑指offer | 栈的压入,弹出序列题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注 ... Read more »
按之字形顺序打印二叉树 Posted on 2019-08-13 | 按之字形顺序打印二叉树题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 用两个栈,一个存从左到右的节点,一个存从右到左的节点 奇数层从左到右打印,偶数层从右到左打印 每一层单列进list,l ... Read more »
最小的K个数 Posted on 2019-08-13 | In 剑指offer | 最小的K个数题目描述 输入n个整数,找出其中最小的K个数。 基于快排思想的寻找第K大的数。 快排每一趟可以将a[0]在数组中的位置找到,且其位置左侧均为小于a[0]的数,右侧均为大于a[0]的数 所以只要找到第K大的数,其左侧则为最小的K个数。 123456789101112131415161 ... Read more »
React tips Posted on 2019-08-13 | 在react中使用map函数 123456789 const numbers = [1, 2, 3, 4, 5];const listItems = numbers.map((numbers) => <li>{numbers}</li>); Re ... Read more »
序列化二叉树 Posted on 2019-08-13 | 序列化二叉树题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 利用数组实现序列化结果,重建过程相当于建树,用前序结果建树。 递归 123456789101112131415161718192021222324252627282930313233function TreeNode(x) ... Read more »
字符串的排列 Posted on 2019-08-13 | In 剑指offer | 字符串的排列题目描述 按字典序输出一个字符串的全排列输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 要深入理解递归,自身调用自身,分而治之。 本篇采用的递归全排列方法 递归首先应该想到,当字符串长度为1 时,其全排列就是其自身。 字符串长度大于1时,将字符串分割成第一个字 ... Read more »
数组中只出现一次的数字 Posted on 2019-08-13 | In 剑指offer | 数组中只出现一次的数字题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 先排序,排序后再遍历一遍数组,如果前一个和后一个元素不等,则为出现一次的,注意相等时遍历下标的变化。 123456789101112131415function Fin ... Read more »
把二叉树打印成多行 Posted on 2019-08-13 | 把二叉树打印成多行题目描述 从上层到下层从左到右按层输出二叉树 用队列先进先出的性质,从左到右先遍历下层节点,到下层输出的时候,也可以从左到右输出。 需要记录下层节点的个数 需要记录当前层打印节点的个数 12345678910111213141516171819202122232425262 ... Read more »
矩形覆盖 Posted on 2019-08-12 | In 剑指offer | 矩形覆盖题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 找规律发现其原理和斐波那契数列相符 12345678910111213141516function rectCover(number){ ... Read more »
替换空格 Posted on 2019-08-11 | 替换空格题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 代码 12345678910// 替换空格// 请实现一个函数,将一个字符串中的每个空格替换成“%20”。// 例如,当 ... Read more »