如何从字符串填充二叉树,java

如何从字符串填充二叉树,java,java,binary-tree,Java,Binary Tree,我假设用基于如下字符串的整数填充二叉树 [int](LT)(RT) 对于树的左侧部分,它是相同形式的表达式。与RT相同。有效字符串如下:4(2(1)(3))(6(5)(7)。如何填充此树?这不是任何类型的排序树。因此它可以用节点填充每个“级别”。感谢您的帮助。获取字符串的第一个数字,在“(”)上拆分,去掉尾随的“),递归重复。您必须为此创建一个解析器,并用解析器的指令填充某种数据结构 然后,当您的数据结构被填充时,您只需将其推入树中即可 大致如下: Structure s = Parser

我假设用基于如下字符串的整数填充二叉树

 [int](LT)(RT)

对于树的左侧部分,它是相同形式的表达式。与RT相同。有效字符串如下:
4(2(1)(3))(6(5)(7)
。如何填充此树?这不是任何类型的排序树。因此它可以用节点填充每个“级别”。感谢您的帮助。

获取字符串的第一个数字,在“(”)上拆分,去掉尾随的“),递归重复。

您必须为此创建一个解析器,并用解析器的指令填充某种数据结构

然后,当您的数据结构被填充时,您只需将其推入树中即可

大致如下:

 Structure s = Parser.parse("4(2(1)(3))(6(5)(7)");
然后迭代结构

  Tree binaryTree = ...

  for( Instruction i : s ) {

      if( i.leaf == Tree.LEFT ) {
          tree.addLeft( i.value );
      } else if ( i.leaf == Tree.RIGHT ) {
           tree.addRight( i.value );
      }
  }

使用堆栈跟踪“(”和“)”

将所有“(”推到堆栈上,遇到时弹出”)


从这里开始,你只需要决定如何解释中间的内容。

这只是我作业的最后一部分,主要部分是创建树实现。然后制作一个算法,用于查找和返回最大的独立节点集。我认为这一部分很容易,但我发现这一部分比较难。