面试经典(14)--二叉树镜像
2014-04-10 21:20
375 查看
题目描述:输入一个二叉树,输出该二叉树的镜像
分析与解法:使用先序遍历方式。如果节点是非叶子节点,就交换左子树和右子树指针,注意退出条件即可,掌握前序遍历这个题目解这道题目难度不大。
代码如下:
分析与解法:使用先序遍历方式。如果节点是非叶子节点,就交换左子树和右子树指针,注意退出条件即可,掌握前序遍历这个题目解这道题目难度不大。
代码如下:
struct Node { Node *m_pLeft; Node *m_pRight; char chValue; }; void mirror(Node *pRoot) { if(pRoot==NULL){ return; } if(pRoot->m_pLeft || pRoot->m_pRight){ swap(pRoot->m_pLeft,pRoot->m_pRight); } if(pRoot->m_pLeft){ mirror(pRoot->m_pLeft); } if(pRoot->m_pRight) { mirror(pRoot->m_pRight); } }
相关文章推荐
- 笔试面试算法经典--二叉树的镜像-递归与非递归实现(Java)
- 二叉树经典题系列-二叉树的镜像
- 【LeetCode-面试算法经典-Java实现】【145-Binary Tree Postorder Traversal(二叉树非递归后序遍历)】
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- 二叉树的镜像 【微软面试100题 第十五题】
- 面试100题:15.求二叉树的镜像
- 《剑指offer》刷题笔记(面试思路):二叉树的镜像
- 面试经典(13)--二叉树非递归遍历
- 笔试面试算法经典--二叉树的子结构(Java)
- 【LeetCode-面试算法经典-Java实现】【107-Binary Tree Level Order Traversal II(二叉树层序遍历II)】
- 【LeetCode-面试算法经典-Java实现】【114-Flatten Binary Tree to Linked List(二叉树转单链表)】
- 【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】
- 【LeetCode-面试算法经典-Java实现】【116-Populating Next Right Pointers in Each Node(二叉树链接右指针)】
- 【LeetCode-面试算法经典-Java实现】【111-Minimum Depth of Binary Tree(二叉树的最小深度)】
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- 面试经典(11)--二叉树层次遍历
- 二叉树的镜像 【微软面试100题 第十五题】
- 【LeetCode-面试算法经典-Java实现】【102-Binary Tree Level Order Traversal(二叉树层序遍历)】
- 【LeetCode-面试算法经典-Java实现】【105-Construct Binary Tree from Preorder and Inorder Traversal(构造二叉树)】
- 【LeetCode-面试算法经典-Java实现】【111-Minimum Depth of Binary Tree(二叉树的最小深度)】