数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适
生活随笔
收集整理的這篇文章主要介紹了
数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
若二叉樹采用二叉鏈表作存儲結構,要交換其所有分支結點的左右子樹的位置,采用()遍歷方法最合適?(北京航空航天大學1999,北京工業大學2016)
A. 前序
B. 中序
C. 后序
D. 層次
答案
用二叉鏈表存儲結構也就是左孩子右兄弟的存儲結構。
1800題書上答案:A,C
北工大2016考研試題答案:C
評注:實際上B,D也是可以的,只不過不是很方便,因此不是“最合適”。
下面給出代碼(均通過leetcode測試用例驗證)
題解
后序遍歷
做好當前結點子樹內部的交換,然后交換當前結點的左右子樹。
中序遍歷
先序遍歷
層次遍歷
測試用例來源:leetcode 226.翻轉二叉樹
總結
以上是生活随笔為你收集整理的数据结构:(翻转二叉树) 若二叉树采用二叉链表作存储结构,要交换其所有分支结点的左右子树的位置,采用()遍历方法最合适的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构:详解KMP算法,手工求解nex
- 下一篇: 数据结构:在下述几种树中,()可以表示静