Java二叉树验证
这个项目的重点是从用户那里获取一个数组,并使用它创建一个使用节点的树。下一步是调用一个方法来检查它是否表示二叉树。我已经为此工作了几个小时,似乎找不到正确的检查方法 这是到目前为止我的代码。除了检查它是否是二叉树的Java二叉树验证,java,binary-search-tree,Java,Binary Search Tree,这个项目的重点是从用户那里获取一个数组,并使用它创建一个使用节点的树。下一步是调用一个方法来检查它是否表示二叉树。我已经为此工作了几个小时,似乎找不到正确的检查方法 这是到目前为止我的代码。除了检查它是否是二叉树的isBinaryTree()方法之外,我已经做了所有的事情 import java.util.Scanner; public class TestBinaryTree { Node root; public void addNode(int key) {
isBinaryTree()
方法之外,我已经做了所有的事情
import java.util.Scanner;
public class TestBinaryTree
{
Node root;
public void addNode(int key)
{
Node newNode = new Node(key);
if(root == null)
{
root = newNode;
}
else
{
Node focusNode = root;
Node parent;
while(true)
{
parent = focusNode;
if(key < focusNode.key)
{
focusNode = focusNode.leftChild;
if(focusNode == null)
{
parent.leftChild = newNode;
return;
}
}
else
{
focusNode = focusNode.rightChild;
if(focusNode == null)
{
parent.rightChild = newNode;
return;
}
}
}
}
}
/*public static boolean isBinaryTree(int rt, int lft, int rght)
{
}*/
public static void main(String[] args)
{
int Nroot, Nleft, Nright;
Scanner input = new Scanner(System.in);
TestBinaryTree theTree = new TestBinaryTree();
System.out.println("How many numbers are in the array: ");
int num = input.nextInt();
int arr[]=new int[num];
System.out.println("Enter the numbers: ");
for(int i=0;i<num;i++)
{
arr[i] = input.nextInt();
theTree.addNode(arr[i]);
}
}
}
class Node
{
int key;
Node leftChild;
Node rightChild;
Node(int key)
{
this.key = key;
}
public String toString()
{
return "Node: " + key;
}
}
import java.util.Scanner;
公共类TestBinaryTree
{
节根;
公共void addNode(int键)
{
Node newNode=新节点(键);
if(root==null)
{
根=新节点;
}
其他的
{
节点focusNode=root;
节点父节点;
while(true)
{
父节点=焦点节点;
if(键 对于(int i=0;我不是只需要访问每个节点并确保它没有超过两个子节点吗?很可能,您会感到困惑,二叉树与搜索二叉树不同。