데이비드가 너를 데리고 -leetcode 퀴즈 쓰기(94. 두 갈래 나무의 중순, 귀속+비귀속)

5244 단어 leetcode 퀴즈

leetcode 퀴즈 (94. 두 갈래 나무의 중간 순서, 귀속 + 비귀속)


질문:


두 갈래 나무의 중간 순서대로 두 갈래 나무를 정해서 중간 순서대로 되돌려줍니다.
예:
입력: [1,null,2,3] 1\2/3
출력: [1,3,2]
귀속과 비귀속의 두 가지 코드를 쓰십시오

해결 방법:


생각:


귀속과 비귀속 두 가지 방법이 있을 수 있다

반복python 코드:

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        result=[]
        self.inorder(root,result)
        return result
    
    def inorder(self,root,result):
        p=root
        if p:
            self.inorder(p.left,result)
            result.append(p.val)
            self.inorder(p.right,result)

비귀속python 코드:

# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def inorderTraversal(self, root: TreeNode) -> List[int]:
        result=[]
        if root==None:
            return result
        stack=[]
        p=root
        while(p or stack):
            if p:
                stack.append(p)
                p=p.left
            else:
                p=stack.pop()
                result.append(p.val)
                p=p.right
        return result

좋은 웹페이지 즐겨찾기