上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页
摘要: /** *二叉搜索树 *任何节点的左 子树不为null,则左子树上的所有的节点都比根节点小,右子树不为null,则右子树上的所有的节点都比根节点大 *判断二叉搜索树的方法是:将树按照中序遍历后,是不是逐渐递增的 * */ public class SearchTree { public static void main(String[] args) { Node root = new Node(4 阅读全文
posted @ 2019-10-14 10:52 踏月而来 阅读(349) 评论(0) 推荐(0) 编辑
摘要: //判断一个树是不是平衡二叉树 //任何节点的左子树和右子树高度差不超过1 public class BalanceTree { public static void main(String[] args) { Node root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = n 阅读全文
posted @ 2019-10-14 10:50 踏月而来 阅读(150) 评论(0) 推荐(0) 编辑
摘要: public class BinaryTreeSerialize { public static void main(String[] args) { Node root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = new Node(4); root.left.right = 阅读全文
posted @ 2019-10-12 12:18 踏月而来 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 图片资源 阅读全文
posted @ 2019-10-12 10:22 踏月而来 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 现在有一种特殊的二叉树节点类型,每个节点有个父引用指向他的父节点,根节点的父引用指向null,找出指定节点的后继节点,后继节点是整个树按照中序遍历时候的下一个节点,整个树的最右节点的后继节点为null,要求最快获取后继节点,不能采用遍历整个树的方式 阅读全文
posted @ 2019-10-11 11:05 踏月而来 阅读(829) 评论(0) 推荐(0) 编辑
摘要: public class BinaryTreeNonRecursion { public static void main(String[] args) { Node root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = new Node(4); root.left.right 阅读全文
posted @ 2019-10-11 09:57 踏月而来 阅读(308) 评论(0) 推荐(0) 编辑
摘要: public class BinaryTree { public static void main(String[] args) { Node root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = new Node(4); root.left.right = new Node( 阅读全文
posted @ 2019-10-10 16:18 踏月而来 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 分为三种情况:第一种情况: 一个链表有环,一个链表没有环,那这两个链表不可能相交第二种情况: 两个链表都没有环第三种情况: 两个链表都有环 两个有环单向链表相交示例图 两个无环单向链表相交示例图 阅读全文
posted @ 2019-10-10 14:55 踏月而来 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 思路:利用map存储节点之间的对应关系 阅读全文
posted @ 2019-10-10 11:27 踏月而来 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 第一种方法:准备三个队列,遍历链表时候,将小于的放入小于队列中,等于的放入等于队列中,大于的放入大于队列中,然后从队列中取出来重新连接 第二种方法:遍历链表,组成三个链表,重新连接 (只用到了有限的几个变量,额外空间复杂度是O(1)) 阅读全文
posted @ 2019-10-09 20:18 踏月而来 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 第一种方法:大顶堆 第二种方法:双端队列 阅读全文
posted @ 2019-10-09 17:46 踏月而来 阅读(609) 评论(0) 推荐(0) 编辑
摘要: public class Bracket { public static void main(String[] args) { String str = "[()]"; System.out.println(isValid(str)); } // [()] public static boolean isValid(String... 阅读全文
posted @ 2019-10-09 11:52 踏月而来 阅读(1640) 评论(0) 推荐(0) 编辑
摘要: 第一种方法:直接遍历时,用hashset存放,判断是否存在环 第二种方法:使用快慢指针 阅读全文
posted @ 2019-10-09 11:20 踏月而来 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 第一种方法: 额外空间复杂度O(N) ,遍历链表时,将元素入栈,再次遍历时,从栈中弹出元素,比较两者的大小,就可以判断是不是回文链表第二种方法:利用快慢指针,先找到链表的中间位置,然后反转链表的后半部分,再分别从链表两头遍历比较大小,最后将链表恢复为原始结构 阅读全文
posted @ 2019-10-08 17:49 踏月而来 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 有两个有序链表,1 -> 3 -> 5 -> 6 , 1 -> 2 -> 5 -> 7 -> 8 ,打印公共部分 阅读全文
posted @ 2019-10-08 16:02 踏月而来 阅读(146) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 24 下一页