public Node TreeToList() {
Node header = null;
header = TreeToList(root);
printList(header);
return header;
}
private Node TreeToList(Node node) {
if (node == null) {
return (null);
}
Node header = null;
Node current = null;
Node temp = null;
Stack<Node> stack = new Stack<Node>();
while (true) {
while (node != null) {
stack.push(node);
node = node.leftChild;
}
if (stack.isEmpty()) {
break;
}
node = stack.pop();
if (header == null) {
header = current = node;
} else {
current.rightChild = node;
node.leftChild = current;
current = node;
}
node = node.rightChild;
}
current.rightChild = header;
return header;
}
No comments:
Post a Comment