本文介绍: 二叉搜索树专题again,包括插入,删除节点,递归迭代都可以解决,感觉有时候迭代挺简单的。
235. 二叉搜索树的最近公共祖先
普通二叉树的最近公共祖先方法通用,但是涉及到二叉排序树的特性,就需要记得遍历得到的最近的一个值在p q值之间的结点,这个就是目标的公共祖先结点。这题算是写的比较透的了,用了三种方法。
考研的时候我记得好像就背过如何建一棵排序二叉树,当时就觉得好简单,现在看也简单的,但是不容易写出来。递归写法最重要的就是利用回溯的特点,用上一层的结点接住下一层的返回值,二分查找得到的空节点就可以返回一个新建的结点。迭代写法需要用一个父节点记录找到的插入位置的父节点,从而用父节点接着新建结点。
450. 删除二叉搜索树中的节点
这题更是重量级,如果没写过真的很难写出来。包括现在我也云里雾里的,感觉可以算是hard题了。因为删除需要考虑的状况有点多,所以情况也复杂一些。当然我觉得用迭代会更简单点,但是现在不想深究它了。二刷再来掌握。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。