好像没见到详细的非递归,正好看了别人的代码有点启发,就自己写下来了 首先看一下镜像过程: 思路:当处理新的一层时,依次(从左至右)取得每个结点,并交换他们的左右子结点,因为是从第一层开始往下的,所以只需要在每次处理一层时依次把每一个结点的左右子结点交换一下,就会在处理完整棵树时,所有结点都交换了一遍 代码: class Solution { public: void Mirror(TreeNode *pRoot) { //传入头结点为空直接返回 if(!pRoot) return ; queue<TreeNode *&g...