怎么判断树里的值与一特定值相同并将相同的值传入arraylist最终返回arraylist
时间: 2024-03-23 08:36:09 浏览: 77
判断输入值是否相同
可以在findValues函数中添加一个返回值,用于存储到的所有与特定相同的节点的。具体实现可以使用深度优先搜索算法,遍历树的每个节点,如果节点的值与特定值同,则将该节点的值添加到ArrayList中最终将存储相同值的ArrayList返回实现代码如下:
```
public List<Integer> findValues(TreeNode root, int target) {
List<Integer> list = new ArrayList<>();
if (root == null) {
return list;
}
if (root.val == target) {
list.add(root.val);
}
list.addAll(findValues(root.left, target));
list.addAll(findValues(root.right, target));
return list;
}
```
其中,`root`为树的根节点,`target`为特定值。函数会遍历整个树,将所有与特定值相同的节点的值添加到ArrayList中,最终将存储相同值的ArrayList返回。调用该函数可以如下所示:
```
List<Integer> list = findValues(root, target);
```
其中,`root`为树的根节点,`target`为特定值,`list`为存储相同值的ArrayList。函数会返回所有与特定值相同的节点的值。
阅读全文