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);
  }
}

总结

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

相关推荐
马猴烧酒.34 分钟前
【面试八股|JVM虚拟机】JVM虚拟机常考面试题详解
jvm·面试·职场和发展
CoderCodingNo1 小时前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人1 小时前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
小熳芋1 小时前
443. 压缩字符串-python-双指针
算法
Charlie_lll1 小时前
力扣解题-移动零
后端·算法·leetcode
chaser&upper1 小时前
矩阵革命:在 AtomGit 解码 CANN ops-nn 如何构建 AIGC 的“线性基石”
程序人生·算法
weixin_499771552 小时前
C++中的组合模式
开发语言·c++·算法
iAkuya2 小时前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)
算法·leetcode·职场和发展
近津薪荼2 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
xiaoye-duck2 小时前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法
c++·算法·stl