【发布时间】:2012-08-06 08:38:21
【问题描述】:
给定一个二叉搜索树,其中任意两个节点被交换。所以我们需要找到这两个节点并将它们交换回来(我们需要交换节点,而不是数据)
我试图通过创建一个额外的数组来做到这一点,该数组具有树的中序遍历并保存指向每个节点的指针。 然后我们只是遍历数组,找到没有排序顺序的两个节点,现在这两个节点在树中搜索然后交换
所以我的问题是如何在 O(1) 空间中解决这个问题?
【问题讨论】:
-
参考this。它实际上只使用了另外三个指针。
标签: algorithm binary-search-tree