1. 程式人生 > 其它 >Java 從陣列來看值傳遞和引用傳遞

Java 從陣列來看值傳遞和引用傳遞

技術標籤:劍指offer演算法

給定一個二叉樹的根節點 root ,返回它的 中序 遍歷。

示例 1
在這裡插入圖片描述

輸入:root = [1,null,2,3]
輸出:[1,3,2]

這個就是常用的遞迴的方法,沒啥好說的

class Solution:

    def __init__(self):
        self.res = []
    def inorderTraversal(self, root: TreeNode) -> List[int]:

        if root == None: 
            return []
        
        self.
inorderTraversal(root.left) self.res.append(root.val) self.inorderTraversal(root.right) return self.res

另一種是用棧的方法:

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        stack = []
        res = []

        while(len(stack)>0 or root!=None
): if root != None: stack.append(root) root = root.left else: root = stack.pop(-1) res.append(root.val) root = root.right return res