摘要: 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 矩阵中包含一条字符串"bcced"的路径,但是矩阵中 阅读全文
posted @ 2020-03-12 23:37 nlw 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
posted @ 2020-03-12 22:51 nlw 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。 思路: 阅读全文
posted @ 2020-03-12 21:19 nlw 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节 阅读全文
posted @ 2020-03-12 19:42 nlw 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:层次遍历。记录每一层的结点树和当前已经访问的这一层结点。count表示这一层共有多少结点,cur表示当前已经访问了这一层的多少结点 import java.util.*; public class Solution { 阅读全文
posted @ 2020-03-12 16:06 nlw 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路:两个栈 一个存储奇数层 一个存储偶数层结点 分别遍历 import java.util.Stack; import java.util.A 阅读全文
posted @ 2020-03-12 15:43 nlw 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路一:最简单的方法 递归判断左右子树 public class Solution { boolean isSymmetrical(TreeNode pRoot) { if(pR 阅读全文
posted @ 2020-03-12 01:24 nlw 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路一:先向上找到跟结点 然后中序遍历 public class Solution { boolean flag=false; TreeLinkNode 阅读全文
posted @ 2020-03-12 00:54 nlw 阅读(124) 评论(0) 推荐(0) 编辑