leetcode 103. 두 갈래 나무의 톱날 모양 차원이 두루 다니다
1130 단어 leetcode알고리즘 프로그래밍
두 갈래 나무를 정해서 노드 값을 되돌려주는 톱날 모양의 차원을 두루 훑어본다.(즉, 먼저 왼쪽에서 오른쪽으로, 다시 오른쪽에서 왼쪽으로 다음 층을 훑어보며, 이와 같이 층과 층 사이를 교체하여 진행한다.)
예를 들어 두 갈래 나무를 지정합니다
[3,9,20,null,null,15,7]
, 3
/ \
9 20
/ \
15 7
다음과 같이 앤티앨리어싱 계층을 반복합니다.
[
[3],
[20,9],
[15,7]
]
코드:
class Solution {
public:
vector> zigzagLevelOrder(TreeNode* root) {
vector>ans;
if(root==NULL)return ans;
queueq;
q.push(root);
int flag=1;
while(!q.empty()){
queueqt;
vectorres;
while(!q.empty()){
TreeNode *t=q.front();q.pop();
res.push_back(t->val);
if(t->left)qt.push(t->left);
if(t->right)qt.push(t->right);
}
if(flag<0)reverse(res.begin(),res.end());
flag=-flag;//
ans.push_back(res);
q=qt;
}
return ans;
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다. 빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.