class Solution: def zigzagLevelOrder(self, root: Optional[TreeNode]) -> List[List[int]]: if root == None: return [] ans = [[root.val]] cq = [root] nq = [] for i in range(1,2001): if len(cq) == 0: break ans.append([]) while cq: cur = cq.pop() zig = i&1 nxt = [cur.left, cur.right] if nxt[zig] != None: ans[i].append(nxt[zig].val) nq.append(nxt[zig]) if nxt[1-zig] != None: ans[i].append(nxt[1-zig].val) nq.append(nxt[1-zig]) cq, nq = nq, [] return ans[:-1]그냥 BFS 돌았는데 뭔가 왔다갔다하기가 귀찮네;;순서가 지그재그라 deque 대신 그냥 list를 stack으로 사용
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.