LeetCode第1261题 - 在受污染的二叉树中查找元素

题目

解答

java 复制代码
class FindElements {
  Set<Integer> set = new HashSet<>();

  public FindElements(TreeNode root) {
    if (root == null) {
      return;
    }

    LinkedList<TreeNode> queue = new LinkedList<>();
    queue.add(root);
    root.val = 0;
    while (!queue.isEmpty()) {
      TreeNode node = queue.removeFirst();
      set.add(node.val);
      int value = node.val * 2;

      if (node.left != null) {
        node.left.val = value + 1;
        queue.add(node.left);
      }

      if (node.right != null) {
        node.right.val = value + 2;
        queue.add(node.right);
      }
    }

  }

  public boolean find(int target) {
    return set.contains(target);
  }
}

总结

使用广度优先算法遍历树,同时将节点的值保存起来,以待后续的查询操作。

相关推荐
liulilittle15 小时前
范围随机算法实现
开发语言·c++·算法·lua·c·js
2401_8579182916 小时前
C++中的访问者模式实战
开发语言·c++·算法
elseif12316 小时前
CSP-S提高级大纲
开发语言·数据结构·c++·笔记·算法·大纲·考纲
熊猫_豆豆16 小时前
Python 基于Dlib和OpenCV实现人脸融合算法+代码
图像处理·python·算法·人脸融合
Book思议-16 小时前
【数据结构实战】双向链表:在指定位置插入数据
c语言·数据结构·算法·链表
lightqjx17 小时前
【算法】前缀和
c++·算法·leetcode·前缀和
窝子面17 小时前
LeetCode练题三:链表
算法·leetcode·链表
酉鬼女又兒17 小时前
入门前端CSS 媒体查询全解析:从入门到精通,打造完美响应式布局(可用于备赛蓝桥杯Web应用开发)
前端·css·职场和发展·蓝桥杯·前端框架·html5·媒体
扶摇接北海17617 小时前
洛谷:P1104 生日
算法
旖-旎17 小时前
二分查找(寻找旋转排序数组中的最小值)(7)
c++·算法·二分查找·力扣