1.题目
2.解法(队列)
import java
.util
.ArrayList
;
import java
.util
.ArrayDeque
;
public class Solution {
ArrayList
<ArrayList
<Integer>> Print(TreeNode pRoot
) {
ArrayList
<ArrayList
<Integer>> arr
= new ArrayList<>();
if(pRoot
== null
) return arr
;
ArrayDeque
<TreeNode> d1
= new ArrayDeque<>();
d1
.offer(pRoot
);
int count
= 0;
ArrayList
<Integer> tmpArr
= null
;
TreeNode node
= null
;
while(!d1
.isEmpty()){
count
= d1
.size();
tmpArr
= new ArrayList<>();
for(int i
= 0; i
< count
; i
++){
node
= d1
.poll();
tmpArr
.add(node
.val
);
if(node
.left
!= null
){
d1
.offer(node
.left
);
}
if(node
.right
!= null
){
d1
.offer(node
.right
);
}
}
arr
.add(tmpArr
);
}
return arr
;
}
}
时间复杂度和空间复杂度均为O(n)
转载请注明原文地址:https://ipadbbs.8miu.com/read-26725.html