摘要:
题目来源:《剑指offer》面试题27 题目:输入是一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新节点,只能调整树种节点指针的指向。二叉树节点的定义如下:struct BinaryTreeNode { int val; BinaryTreeNode* l... 阅读全文
摘要:
题目:输入一个整数数组,判断该数组是不是二叉搜索树的后序遍历序列的结果,如果是,则返回true,如果不是则返回false。假设输入的数组的任意两个数字都互不相同。 分析:在后序遍历得到的序列中,最后一个数字是根节点的值。数组中前面的数字可以分为两个部分:第一部分是左子树节点的值,它们都比根节点... 阅读全文
摘要:
从上往下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 从上到下打印二叉树的规律:每一次打印一个节点的时候,如果该节点有子节点,则把该节点的子节点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的节点,重复前面的打印操作,直到队列中所有的节点都被打印出来为止。 struct... 阅读全文
摘要:
题目来源:《剑指offer》面试题18 输入两颗二叉树A和B,判断B是不是A的子结构。二叉树的节点定义如下:struct BinaryTreeNode { int value; BinaryTreeNode* left; BinaryTreeNode* ri... 阅读全文
摘要:
相关题目:《剑指offer》面试题7templateclass Queue { public: Queue(); ~Queue(); void Push(const T& value) { s1.push(value): } void... 阅读全文
摘要:
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... 阅读全文