用Java实现二叉树的括号表示串创建
时间: 2023-11-20 13:04:45 浏览: 124
好的,这个问题我可以回答。以下是用Java实现二叉树的括号表示串创建的代码:
```java
class Node {
char val;
Node left, right;
Node(char val) {
this.val = val;
this.left = null;
this.right = null;
}
}
public class BinaryTree {
private static int index = 0;
public static Node createBinaryTree(String s) {
Node root = null;
if (s.charAt(index) == '(') {
index++;
if (s.charAt(index) != ')') {
root = new Node(s.charAt(index));
root.left = createBinaryTree(s);
root.right = createBinaryTree(s);
}
index++;
}
return root;
}
}
```
在上面的代码中,我们定义了一个 `Node` 类表示二叉树的节点,包含了节点的值和左右子节点。我们还定义了一个 `BinaryTree` 类,其中包含了一个静态方法 `createBinaryTree`,该方法接收一个括号表示的字符串 `s` 作为参数,返回一个二叉树的根节点。
在 `createBinaryTree` 方法中,我们使用了一个静态变量 `index`,表示当前处理到的字符的下标。如果当前字符是左括号,就先将下标加1,然后判断下一个字符是否是右括号。如果不是右括号,则创建一个新的节点作为当前节点,并递归调用 `createBinaryTree` 方法构建左右子树。最后,再将下标加1,跳过右括号。最后返回根节点即可。
希望这个回答能够帮到你,如果你还有其他问题,可以继续问我哦!
阅读全文