leetcode-107 두 갈래 나무의 차원 반복 II JAVA 코드
1609 단어 leetcode
예를 들어 두 갈래 나무[3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
아래에서 위로 올라가는 단계를 다음과 같이 되돌려줍니다.
[
[15,7],
[9,20],
[3]
]
해법1
class Solution {
public List> levelOrderBottom(TreeNode root) {
List> result = new LinkedList>();
List temList = new ArrayList();
if (root == null) {
return result;
}
Queue queue = new LinkedList();
((LinkedList) queue).add(root);
int num = 1;
int next = 0;
while (!queue.isEmpty()) {
TreeNode now = queue.poll();
temList.add(now.val);
num--;
if (now.left != null) {
((LinkedList) queue).add(now.left);
next++;
}
if (now.right != null) {
((LinkedList) queue).add(now.right);
next++;
}
if (num == 0) {
num = next;
next = 0;
((LinkedList>) result).addFirst(temList);
temList = new ArrayList();
}
}
return result;
}
}
result List는 ArrayList에서 LinkedList로 변경되었습니다. 이렇게 하면 머리에 추가하는 방법을 사용할 수 있습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.