当前位置: 首页 > 知识库问答 >
问题:

主函数中给出正确输出的语句应该是什么

井兴怀
2023-03-14

问题陈述:根据问题,有一个二叉树,其根节点3左子节点9,右子节点20,当20作为根节点时,其左子节点15,右子节点7。9没有孩子。所以结构看起来[3,9,20,null,null,15,7]。

在此二叉树中查找级别顺序遍历。水平顺序遍历/宽度优先搜索

输出:[

[3],

[9,20],

[15,7]

]

为了实现这个方法,我创建了一个树结构,如

 class TreeNode {
       int val;
       TreeNode left;
       TreeNode right;
       TreeNode(int x) {
           val = x;
       }
  }

我还创建了另一个类,返回这个输出列表

class Solution102{

    public List<List<Integer>> levelOrder(TreeNode root){

    List<List<Integer>> result = new ArrayList<>();
       //function body
       return result;
    }
}

主要功能出现困难。

主要功能结构

public class Q102 {
    public static void main(String args[]){

        Solution102 obj102=new Solution102();
        obj102.levelOrder(new TreeNode(3));
        obj102.levelOrder(new TreeNode(9));
        obj102.levelOrder(new TreeNode(20));
        obj102.levelOrder(new TreeNode(null));
        obj102.levelOrder(new TreeNode(null));
        obj102.levelOrder(new TreeNode(15));
        obj102.levelOrder(new TreeNode(7));
        System.out.println(obj102.levelOrder());//error

    }
}

系统。出来println(obj102.levelOrder())在这条语句中,我在()中发送的值是多少,以获取列表的输出列表。

提前谢谢你。


共有3个答案

秦钟展
2023-03-14

您的代码中有两个错误:

  • obj102。levelOrder(新树节点(空)) :不能将null赋值给整数。下一行也是如此
  • 系统。出来println(obj102.levelOrder()) levelOrder()方法需要一个参数,而您没有给出一个参数
  • 您没有构建结果列表
  • 每次调用levelOrder()方法时,都会重复返回列表列表

我的解决方案:

  • 不要向TreeNode输入null。相反,给它输入一些大的负数
  • TreeNode中添加一个方法,调用该方法时返回val。你为什么问
  • Solution102类的levelOrder()方法中,通过val返回方法检查TreeNode是否包含您使用过的大负数,而不是null。如果匹配,则在列表中留下一个空白。否则,只需将该值输入列表中
  • 通过设置条件来控制levelOrder()方法的返回语句

我的建议是:

  • 了解图形

阳兴文
2023-03-14

看起来Solution102类没有levelOrder()的方法。您必须在Solution102中没有参数的情况下重载levelOrder方法。比如:-----

public String levelOrder(){
     return "Now I am working";
}
唐弘和
2023-03-14

我将忽略您的树和级别顺序遍历实现。根据您在此处发布的代码,您的类Solution102只有一个带有签名列表的方法

要拨打电话-obj102。levelOrder(),您必须在解决方案102类的签名列表中定义一个方法

这只是我说Java东西。你对实际问题的解决方案看起来一团糟。

 类似资料:
  • 我一直在研究一些涉及将ASCII值转换为字符串的问题。 如果我使用此代码,我会以的形式输出,这是意料之中的。 但是,如果我这样更改代码: 当我尝试编译它时,会显示以下错误: 两种代码之间的唯一区别是,在第1种代码中,我使用的是t=I‘a’ ,在秒时,<代码>t=t i“a” 。 有人能告诉我第二段有什么问题吗?

  • 问题内容: 我正在使用Python编写一些加密算法,但是我以前从未使用过Python。 首先,看一下这段代码,然后我将解释这个问题, x和y的值为, 我不明白代码的第三行。为了理解第三行,我不得不研究函数,我遇到了这个问题, zip函数帮助元组 根据这个问题的答案,代码, 将输出, 但是当我尝试打印时, 我得到这个输出, 为什么我的输出与原始输出不同? 问题答案: 在Python 3中返回一个迭代

  • 最初,当今天是星期三或星期四时,我想把地方设置为“A”,否则设置为“B”。但是设计的代码一直返回“A”,尽管今天是“星期六”(14/10/2017)。我怎么能修好它?

  • 我正在尝试通过使用if else条件在我的代码中的textbox上添加验证 我在textbox上添加了focusListener,当我从textbox中删除焦点时,它将检查条件 我还在chekbox旁边创建了一个标签,它将根据条件显示文本 如果textbox中的文本不等于“Hi”,则应在textbox旁边的标签中打印“Hello 否则应打印“再见” 请帮忙

  • 问题内容: 我正在使用vb.net和Access 2010作为数据库(.accdb) 这适用于MySQL: 但是,当将相同的查询传递给Access时,出现以下错误: 因此,我假设CASE语句的访问权限不同,或者访问是否完全具有该功能? PS is_enable为布尔值 问题答案: 弄清楚了: Access 2010没有CASE功能,我们改用SWITCH。 感谢

  • 我正在运行一个模型来检测图像中一些有趣的特征。我有一组600x200像素的图像。这些图像具有我想识别的岩石碎片等特征。想象一个(4x12)网格覆盖在图像上,我可以使用注释器工具手动生成注释,例如((4,9),(3,10),(3,11),(3,12)),以识别图像中感兴趣的单元格。我可以用Keras建立CNN模型,输入为灰度图像。但我应该如何对输出进行编码。在我看来,一种直观的方法是将其视为形状的稀