昨天面试,面试官问了一个题,求一个多叉树里面是否存在某个值,假设多叉树里面的元素都不重复。由于之前一直没有接触过多叉树,所以当时没怎么写出来,当时只是给了自己的思路。
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
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
还没有人抢沙发呢~