用java 實作將一個二叉樹的左右子樹交換
uj5u.com熱心網友回復:
二叉樹節點類
public class BinaryTreeNode {
private BinaryTreeNode left;
private BinaryTreeNode right;
private int data;
public BinaryTreeNode(int data) {
super();
this.data = data;
}
public BinaryTreeNode getLeft() {
return left;
}
public void setLeft(BinaryTreeNode left) {
this.left = left;
}
public BinaryTreeNode getRight() {
return right;
}
public void setRight(BinaryTreeNode right) {
this.right = right;
}
public int getData() {
return data;
}
public void setData(int data) {
this.data = data;
}
public void flip() {
if(left!=null) {
left.flip();
}
if(right!=null) {
right.flip();
}
BinaryTreeNode node=left;
this.left=right;
this.right=node;
}
}
二叉樹類
public class BinaryTree {
private BinaryTreeNode root;
public BinaryTreeNode getRoot() {
return root;
}
public void setRoot(BinaryTreeNode root) {
this.root = root;
}
public void flip() {
if (root != null) {
root.flip();
}
}
}
測驗類
public class TestBinaryTreeFlip {
public static void main(String[] args) {
BinaryTreeNode root = new BinaryTreeNode(1);
BinaryTreeNode left = new BinaryTreeNode(2);
BinaryTreeNode left_left = new BinaryTreeNode(4);
BinaryTreeNode left_right = new BinaryTreeNode(5);
BinaryTreeNode right = new BinaryTreeNode(3);
BinaryTreeNode right_right = new BinaryTreeNode(6);
left.setLeft(left_left);
left.setRight(left_right);
right.setRight(right_right);
root.setLeft(left);
root.setRight(right);
BinaryTree tree = new BinaryTree();
tree.setRoot(root);
tree.flip();
System.out.println("");
}
}
uj5u.com熱心網友回復:
謝謝您



非常感謝,您回答的太全面了


uj5u.com熱心網友回復:
這么久了,20分寫個二叉樹也不貴,把分給了吧
uj5u.com熱心網友回復:
不會給分,不是答了就有分嘛
uj5u.com熱心網友回復:
你得“結帖”啊。
uj5u.com熱心網友回復:
看到這就腦殼疼轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77619.html
標籤:Eclipse
上一篇:關于php命令列模式介紹
