急!!!链表形式的二叉树,使用非递归算法如何交换左右子树?

2025-04-24 22:47:04
推荐回答(1个)
回答1:

要求是所有节点的所有左右子树都转换的话,主要是两种方式。
DFS,深度优先遍历,从root开始访问到最小的一个子树开始解决该问题。当访问完所有节点的时候交换完成。
或者BFS广度优先从root节点依次交换左右子树,当访问完所有节点的时候交换完成。
建议BFS,逻辑易于理解,实现也简单吧。队列也比堆栈感觉更加好用。