时间: 2020-09-19|12次围观|0 条评论

昨天面试,面试官问了一个题,求一个多叉树里面是否存在某个值,假设多叉树里面的元素都不重复。由于之前一直没有接触过多叉树,所以当时没怎么写出来,当时只是给了自己的思路。

import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;

class TreeNode{
     int obj;  
    //TreeNode parentNode; 
    List<TreeNode> childList;  
}

public class Demo70 {
    public static boolean isFindK(TreeNode root,int k){
        boolean flag = false;
        Queue<TreeNode> queue = new ArrayDeque<>();

        queue.add(root);
        while (queue.size()!=0) {
            TreeNode tempNode = queue.poll();
            if (tempNode.obj==k) {//判断当前节点
                flag = true;
                break;
            }
            if (tempNode.childList!=null) {
                List<TreeNode> list = new ArrayList<>();
                list = tempNode.childList;
                for (int i = 0; i < list.size(); i++) {
                    queue.add(list.get(i));
                }
                list.clear();
            }

        }
        return flag;
    }
}

原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/48718127

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《多叉树的查找(广度优先遍历)
   

还没有人抢沙发呢~