import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pRoot TreeNode类 * @return TreeNode类 */ public TreeNode Mirror (TreeNode pRoot) { if(pRoot == null) { return null ; } Stack<TreeNode> st = new Stack<>() ; TreeNode cur = pRoot ; st.push(cur) ; while(!st.isEmpty()){//非递归中序遍历 cur = st.pop() ; while(cur != null) { TreeNode l = cur.left ; TreeNode r = cur.right ; cur.left = r ; cur.right = l ; if(cur.right != null) { st.push(cur.right) ; } cur = cur.left ; } } return pRoot ; } }