write a program to print only the peripheral nodes of binary tree
Anonymous
Java code: public void peripheralNodes(){ peripheralNodes(root); } private void peripheralNodes(Node node){ System.out.print(node.data+" "); sideNodes(node.left,"left"); leafNodes(node); sideNodes(node.right,"right"); } private void sideNodes(Node node, String side){ if(node == null) return; if(node.left == null & node.right == null) return; if(node != null && side.equalsIgnoreCase("left")) System.out.print(node.data+" "); if(side.equalsIgnoreCase("left")) sideNodes(node.left,side); else sideNodes(node.right,side); if(node != null && side.equalsIgnoreCase("right")) System.out.print(node.data+" "); } The above algo takes O(n)+O(No. of left & right nodes) Is there any other effective way ?
Check out your Company Bowl for anonymous work chats.