永发信息网

在二叉树T中,编写一个非递归程序输出该树的所有叶子结点。

答案:1  悬赏:30  手机版
解决时间 2021-04-07 15:54
  • 提问者网友:wodetian
  • 2021-04-07 05:18
在二叉树T中,编写一个非递归程序输出该树的所有叶子结点。
最佳答案
  • 五星知识达人网友:英雄的欲望
  • 2021-04-07 05:33
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;


public class Solutions {
public static class TreeNode {
TreeNode left = null;
TreeNode right = null;
int value;
TreeNode(int value){
this.value = value;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return "";
}
}


public List getLeaf(TreeNode root) {
List result = new LinkedList();
Queue nodeQueue = new LinkedList();
TreeNode node = null;
nodeQueue.add(root);
while(!nodeQueue.isEmpty()){
node = nodeQueue.poll();
if(node.left == null){
if(node.right == null){
result.add(node);
}else{
nodeQueue.add(node.right);
}
}else{
nodeQueue.add(node.left);
if(node.right != null){
nodeQueue.add(node.right);
}
}
}

return result;
}

public static void main(String[] args) {
TreeNode root = new TreeNode(0);
root.left = new TreeNode(1);
root.right = new TreeNode(2);
root.left.left = new TreeNode(3);
root.left.right = new TreeNode(4);
root.right.left = new TreeNode(5);
root.right.right = new TreeNode(6);
Solutions s = new Solutions();
System.out.println(s.getLeaf(root));
//[]
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯