摘要: 题目来源:《剑指offer》面试题27 题目:输入是一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新节点,只能调整树种节点指针的指向。二叉树节点的定义如下:struct BinaryTreeNode { int val; BinaryTreeNode* l... 阅读全文
posted @ 2015-09-01 23:01 vincently 阅读(1469) 评论(0) 推荐(0) 编辑
摘要: 题目:输入一个整数数组,判断该数组是不是二叉搜索树的后序遍历序列的结果,如果是,则返回true,如果不是则返回false。假设输入的数组的任意两个数字都互不相同。 分析:在后序遍历得到的序列中,最后一个数字是根节点的值。数组中前面的数字可以分为两个部分:第一部分是左子树节点的值,它们都比根节点... 阅读全文
posted @ 2015-09-01 20:45 vincently 阅读(1386) 评论(1) 推荐(0) 编辑
摘要: 从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的节点,重复前面的打印操作,直到队列中所有的节点都被打印出来为止。 struct... 阅读全文
posted @ 2015-09-01 20:14 vincently 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 题目来源:《剑指offer》面试题18 输入两颗二叉树A和B,判断B是不是A的子结构。二叉树的节点定义如下:struct BinaryTreeNode { int value; BinaryTreeNode* left; BinaryTreeNode* ri... 阅读全文
posted @ 2015-09-01 17:02 vincently 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 相关题目:《剑指offer》面试题7templateclass Queue { public: Queue(); ~Queue(); void Push(const T& value) { s1.push(value): } void... 阅读全文
posted @ 2015-09-01 15:11 vincently 阅读(223) 评论(0) 推荐(0) 编辑
摘要: Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of LCA on Wikipedia: “The lowest... 阅读全文
posted @ 2015-09-01 00:10 vincently 阅读(428) 评论(0) 推荐(0) 编辑