Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- findGivenNode(root, key, foundNode, parentStack);
- private boolean findGivenNode(Node node, int key, Node foundNode, Stack<Node> parentStack) {
- if (node == null) {
- return false;
- }
- parentStack.add(node);
- if (node.getData() == key) {
- foundNode = node;
- return true;
- }
- boolean leftReturn = findGivenNode(node.getLeftChild(), key, foundNode, parentStack);
- boolean RightReturn = findGivenNode(node.getRightChild(), key, foundNode, parentStack);
- if (leftReturn || RightReturn) {
- return true;
- } else {
- parentStack.pop();
- return false;
- }
- }
- foundNode = node; // this doesn't reflect outside of the method
- foundNode.setData(node.getData()); // this will reflect outside of the method
- findGivenNode(root, key, foundNode, parentStack);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement