This question is somewhat tricky, so I will try again later.
Package Level4; import Utility. treeLinkNode;/*** Populating Next Right Pointers in Each Node II ** Follow up for problem "Populating Next Right Pointers in Each Node ". what if the given tree cocould be any binary tree? Wocould your previous solution still work? Note: You may only use constant extra space. for example, Given the following binary tree, 1/\ 2 3/\ 4 5 7 After calling your function, the tree shocould look like: 1-> NULL/\ 2-> 3-> NULL/\ 4-> 5-> 7-> NULL Discuss **/public class S117 {public static void main (String [] args) {} public static void connect (TreeLinkNode root) {// if (root = null) {return;} // returns the same result as root. The next node of the row TreeLinkNode rootNext = root. next; TreeLinkNode next = null; // next connected object // If rootNext is null, it indicates that all nodes in this layer have been processed. // If next is not null, the leftmost connected object is found. while (rootNext! = Null & next = null) {if (rootNext. left! = Null) {// select next = rootNext. left;} else {next = rootNext. right;} rootNext = rootNext. next;} if (root. left! = Null) {if (root. right! = Null) {// internally connected root. left. next = root. right;} else {// cross-tree root. left. next = next;} if (root. right! = Null) {// cross-tree root. right. next = next;} connect (root. right); // connect (root. left );}}