作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
就我的逻辑而言,我使用两个不同的数组来存储所有叶子,然后比较这些数组以查看叶子是否确实相同,但我的测试用例失败了(例如[3,5 ,1,6,2,9,8,空,空,7,4][3,5,1,6,7,4,2,空,空,空,空,空,空,9,8])。提前致谢!
'''类解决方案{
static int array1[] = new int[50];
static int array2[] = new int[50];
static int q = 0;
static int r = 0;
public boolean compareLeaves(int arr1[], int arr2[])
{
for(int i = 0; i <array1.length ;i ++)
{
if(array1[i] != array2[i])
{
return false;
}
}
return true;
}
public boolean leafSimilar(TreeNode root1, TreeNode root2) {
if(root1 == null || root2 == null)
{
return false;
}
if(root1.left == null && root1.right == null)
{
array1[q] =root1.val ;
q++;
}
if(root2.left == null && root2.right == null)
{
array2[r] =root2.val ;
r++;
}
leafSimilar(root1.left,root2.left);
leafSimilar(root1.right,root2.right);
return compareLeaves(array1,array2);
}
}'''
最佳答案
array1.length
元素一致,我相信您认为它们相等(返回 true
)。您可能需要使用 q
和 r
来确定元素计数是否相同以及要比较的元素数量。null
,我希望树应该被视为相等,但您返回 false
。root1 == null
,您仍然应该从 root2
中拾取叶子,反之亦然。leafSimilar(root1.left,root2.left)
查看root1.val
和root2.val
。这可能并不重要,因为 val
仅考虑叶子,但我发现很难 100% 确定。我可能错过了一些东西。
使用两个不同的数组来存储所有叶子应该是一个合理的策略。我认为如果单独处理每棵树而不是同时处理两棵树会更容易。
关于java - 找出两棵树是否有相似的叶子(从左到右)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58257744/
Infix[]仅适用于第一级: Infix[(c a^b)^d] (* -> (a^b c) ~Power~ d *) 由于我想(不要问为什么)将完整表达式切换为中缀表示法,因此我尝试了以下操作: S
我正在寻找遍历特定元素的叶子的最有效方法。例如: One Two Paragraph Text
我想评估 bool 表达式,例如 a=b & s、>=、{ eval() {} // bool operator()(const var& v) const {
我正在尝试将物联网边缘设备设置为边缘网关。我们不希望我们的叶子/传感器/下游设备直接连接到互联网/云,因此我希望物联网边缘网关(顾名思义)能够桥接下游设备和云/物联网之间的连接中心。但是,我意识到任何
我是一名优秀的程序员,十分优秀!