Tree 叶相似树问题测试失败
我试图解决这个Leetcode问题- 考虑二元树的所有叶,从左到右顺序,这些叶的值形成叶值序列。 如果两棵二叉树的叶值序列相同,则认为它们的叶相似。 当且仅当具有头节点root1和root2的两个给定树的叶相似时,返回true 我不明白为什么这个测试失败->输入:root1=[1,2,3],root2=[1,3,2]输出:false 这是我的密码:Tree 叶相似树问题测试失败,tree,Tree,我试图解决这个Leetcode问题- 考虑二元树的所有叶,从左到右顺序,这些叶的值形成叶值序列。 如果两棵二叉树的叶值序列相同,则认为它们的叶相似。 当且仅当具有头节点root1和root2的两个给定树的叶相似时,返回true 我不明白为什么这个测试失败->输入:root1=[1,2,3],root2=[1,3,2]输出:false 这是我的密码: class Solution { public: vector<int> printLeafNodes(TreeNode *ro
class Solution {
public:
vector<int> printLeafNodes(TreeNode *root) {
// if node is null, return
vector<int> sol;
if (root == NULL) return {};
if (!root->left && !root->right) {
sol.push_back(root->val);
return sol;
}
if (root->left)
printLeafNodes(root->left);
if (root->right)
printLeafNodes(root->right);
return sol;
}
bool leafSimilar(TreeNode* root1, TreeNode* root2) {
vector<int> sol1, sol2;
sol1 = printLeafNodes(root1);
sol2 = printLeafNodes(root2);
return sol1 == sol2;
}
};
类解决方案{
公众:
向量printLeafNodes(TreeNode*根){
//如果节点为null,则返回
矢量溶胶;
if(root==NULL)返回{};
如果(!root->left&!root->right){
sol.推回(root->val);
返回溶胶;
}
如果(根->左)
printLeafNodes(根->左);
如果(根->右)
printLeafNodes(根->右);
返回溶胶;
}
bool-leaftsimular(TreeNode*root1,TreeNode*root2){
矢量sol1,sol2;
sol1=打印叶节点(root1);
sol2=打印叶节点(root2);
返回sol1==sol2;
}
};