题目大意
1043. Is It a Binary Search Tree
注意此处的二叉搜索树定义
The left subtree of a node contains only nodes with keys less than the node’s key.
The right subtree of a node contains only nodes with keys greater than or equal to the node’s key.
Both the left and right subtrees must also be binary search trees.
PS: 没认真读题还去找强哥问, 真是切腹自尽算了…
给定前序遍历, 问是一棵BST还是镜像BST, 是的话, 则输出YES, 以及后序遍历, 否则, 输出NO.
题目分析
最开始写了四个函数(判断是否BST, 判断是否镜像BST, 求BST的后序, 求镜像BST的后序). 后来看了柳婼的code, 发现只需要一个函数. 直接求后序, 然后一个全局变量标记是否为镜像, 进行不同的判断. 如果不是BST的话, 则不会遍历所有结点(return 会提前返回), 因此长度不足n. 同理可以判断是否为镜像BST.
代码
|
|