I have a binary tree, which is being implemented through linked nodes (with: int element, binarronode left , Binary node correct, bien node parent attributes). And I want to set the nth node from the root, say, x if n = 3, so i want to root. Left.left.left.left = x
Initially, I was thinking of setting up a temporary BinaryNode variable and doing the following:
BinaryNode temp = Route; BinaryNode x = new BinaryNode (10, empty, null, empty); For (int i = 0; i & lt; n; i ++) {temp = temp.left; } And then once I went to the end, I wanted to say, temp.left = x, but then I realized / did not do that to the actual tree would be nothing , Because there is only a copy of the temporary root?
So how would I go about trying to do this? : & Lt;
In your example, there is a copy of the temp root. This is the reference for the root, so your code will modify the original tree. However, you have another problem - what if the tree does not have nodes? In other words, if n is 5 and only three of the nodes are nodes, then you will get a NullPointerException . When you go down the chain, then you have to do a redundancy check.
No comments:
Post a Comment