1. 程式人生 > 資料庫 >ORACLE_OCP之Oracle Scheduler( ORACLE排程器)自動執行任務

ORACLE_OCP之Oracle Scheduler( ORACLE排程器)自動執行任務

技術標籤:筆記二叉樹演算法資料結構leetcode

##【演算法日記-二叉樹的映象】

請完成一個函式,輸入一個二叉樹,該函式輸出它的映象。

例如輸入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9
映象輸出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

這波很香~
在這裡插入圖片描述
遞迴程式碼

public TreeNode mirrorTree(TreeNode root) {
        if(root == null) return null;
        //一直找到最底層的左節點,再回到上層與同層的右節點交換
//一直遞迴,直到回到根節點 mirrorTree(root.left); mirrorTree(root.right); TreeNode temp = root.left; root.left = root.right; root.right = temp; return root; }

利用棧的程式碼

public TreeNode mirrorTree(TreeNode root) {
        if(root == null) return null;
        Stack<
TreeNode>
stack = new Stack<>(); stack.push(root); while(!stack.isEmpty()){ TreeNode node = stack.pop(); if(node.left != null) stack.push(node.left); if(node.right != null) stack.push(node.right); TreeNode temp = node.left; node.
left = node.right; node.right = temp; } return root; }