{"id":9970,"date":"2022-09-26T11:44:22","date_gmt":"2022-09-26T11:44:22","guid":{"rendered":"https:\/\/www.prepbytes.com\/blog\/?p=9970"},"modified":"2022-10-10T09:14:49","modified_gmt":"2022-10-10T09:14:49","slug":"print-ancestors-of-a-given-binary-tree-node-without-recursion","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/","title":{"rendered":"Print Ancestors of a Given Binary Tree Node without Recursion"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\" alt=\"\" \/><\/p>\n<h3>Problem statement<\/h3>\n<p>You are given a <a href=\"https:\/\/prepbytes.com\/blog\/trees\/\">binary tree<\/a> and a key node. Your task is to print all the ancestors of the given key node.<\/p>\n<p><strong>Input<\/strong>: Root of the binary tree and the key node.<br \/>\n<strong>Output<\/strong>: List of all the ancestors of the key node.<\/p>\n<h3>Test cases:<\/h3>\n<p><strong>Input<\/strong>:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155438746-1-01.png\" alt=\"\" \/><\/p>\n<p><strong>Key<\/strong> &#8211; 8<\/p>\n<p><strong>Output<\/strong>:<br \/>\n[6, 2, 0]]<\/p>\n<p><strong>Explanation<\/strong>:<br \/>\n8 is the child node of 6.<br \/>\n6 is the child node of 2.<br \/>\n2 is the child node of 0.<br \/>\nHence, the ancestors of 8 are 6, 2, 0.<\/p>\n<h3>What are ancestors?<\/h3>\n<p>Ancestor is a node in a tree data structure which is connected to the lower nodes in the subtree rooted at this node. All the lower nodes are called descendants of this node.<\/p>\n<table>\n<thead>\n<tr>\n<th>Node<\/th>\n<th>Ancestors<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>1, 0<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>1, 0<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>2, 0<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>2, 0<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td>3, 1, 0<\/td>\n<\/tr>\n<tr>\n<td>8<\/td>\n<td>5, 2, 0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Efficient Approach &#8211; Using Stack<\/h3>\n<p>The idea is to iterate the tree in a postorder traversal because during a recursive postorder traversal of a tree, if we call the postorder function on any node we observe that all its ancestors are already present in the recursive stack. So, we use this observation to solve this problem. We use a stack to store all the ancestors of any node.<br \/>\nFirst we traverse all the left nodes of the root until we find the key. If we didn\u2019t find the key then we set the root as the right child of the top of the stack and traverse the left nodes of the root. If the top does not have any right child then, while the root is the right child of the top of the stack, we will set root as top of the stack and pop the top. Here, we will assume that the key is always present in the given binary tree.<\/p>\n<h3>Algorithm<\/h3>\n<ol>\n<li>Initialize an empty stack and an array.<\/li>\n<li>Traverse the tree in postorder till we find the root:<br \/>\na. While root is not null and we haven\u2019t found the key:<\/p>\n<ul>\n<li>Push the root to the stack and traverse its right subtree.<br \/>\nb. If we found the key, break.<br \/>\nc. If the current top doesn\u2019t have a right child:<\/li>\n<li>Set Root as top of the stack and pop the top.<\/li>\n<li>While the root is the right child of the top of the stack<br \/>\ni. Set Root as top of the stack and pop the top.<\/li>\n<li>Set the root as the right child of the top.<\/li>\n<\/ul>\n<\/li>\n<li>Print the contents of the stack.<\/li>\n<\/ol>\n<h3>Dry Run:<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155487939-1-02.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155517657-1-03.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155538281-1-04.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155573076-1-05.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155612413-1-06.png\" alt=\"\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155643498-1-07.png\" alt=\"\" \/><\/p>\n<h3>Code Implementation:<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_9948 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_9948 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_9948 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_9948 .wpsm_nav-tabs > li.active > a, #tab_container_9948 .wpsm_nav-tabs > li.active > a:hover, #tab_container_9948 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_9948 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_9948 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_9948 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_9948 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_9948 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_9948 .wpsm_nav-tabs > li > a:hover , #tab_container_9948 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_9948 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_9948 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_9948 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_9948 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_9948 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_9948 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_9948 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9948 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_9948 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_9948 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_9948 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_9948\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_9948\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_9948_1\" aria-controls=\"tabs_desc_9948_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_9948\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_9948_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.Stack;\r\n\r\npublic class Main\r\n{\r\n\t\/\/ Node structure\r\n\tstatic class Node\r\n\t{\r\n\t\tint val;\r\n\t\tNode left,right;\r\n\t\t\r\n\t\t\/\/ Constructor to create node objects\r\n\t\tNode(int val)\r\n\t\t{\r\n\t\t\tthis.val = val;\r\n\t\t}\r\n\t}\r\n\t\r\n\t\/\/ This function will print all the ancestors of the given key.\r\n\tstatic void printAllAncestors(Node root, int key)\r\n\t{\r\n\t\tif(root == null)\r\n\t\t\treturn;\r\n\t\t\r\n\t\t\/\/ Create a empty stack\r\n\t\tStack&lt;Node&gt; st = new Stack&lt;&gt;();\r\n\t\t\r\n\t\t\/\/ Traverse the complete tree in postorder way till we find the key\r\n\t\twhile(true)\r\n\t\t{\r\n\t\t\t\r\n\t\t\t\/\/ Traverse the left boundary and push all nodes into the stack.\r\n\t\t\twhile(root != null &amp;&amp; root.val != key)\r\n\t\t\t{\r\n\t\t\t\tst.push(root); \r\n\t\t\t\troot = root.left; \r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\/\/ If we found the key node, then break.\r\n\t\t\tif(root != null &amp;&amp; root.val == key)\r\n\t\t\t\tbreak;\r\n\t\t\t\r\n\t\t\t\/\/ If the node at the top of the stack doesn't contains a right sub-tree\r\n\t\t\t\/\/ Pop the top of the stack.\r\n\t\t\tif(st.peek().right == null)\r\n\t\t\t{\r\n\t\t\t\troot = st.peek();\r\n\t\t\t\tst.pop();\r\n\t\t\t\t\r\n\t\t\t\t\/\/ If the node we just just popped was the right child of the top of the stack \r\n\t\t\t\t\/\/ Then pop the top as well because all its left must have already been processed.\r\n\t\t\t\twhile( !st.empty() &amp;&amp; st.peek().right == root)\r\n\t\t\t\t{\r\n\t\t\t\t\troot = st.peek();\r\n\t\t\t\t\tst.pop();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\/\/ Set the root as right child of the top\r\n\t\t\troot = st.empty() ? null : st.peek().right;\r\n\t\t}\r\n\t\t\r\n\t\t\/\/ While stack is not empty, print its contents\r\n\t\twhile(!st.empty() )\r\n\t\t{\r\n\t\t\tSystem.out.print(st.pop().val+&quot; &quot;);\r\n\t\t}\r\n\t}\r\n\t\r\n\tpublic static void main(String[] args)\r\n\t{\r\n\t\t\/\/ Construct the binary tree.\r\n\t\tNode root = new Node(0);\r\n\t\troot.left = new Node(1);\r\n\t\troot.right = new Node(2);\r\n\t\troot.left.left = new Node(3);\r\n\t\troot.left.right = new Node(4);\r\n\t\troot.right.left = new Node(5);\r\n\t\troot.right.right = new Node(6);\r\n\t\troot.left.left.left = new Node(7);\r\n\t\troot.right.left.left = new Node(8);\r\n\t\t\r\n        int key = 8;\r\n        printAllAncestors(root, key);\r\n\t}\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_9948 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_9948 a\"),jQuery(\"#tab-content_9948\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Output<\/strong>:<br \/>\n5 2 0<\/p>\n<p><strong>Time complexity:<\/strong> O(n). Each node is added and removed from the stack at most once. <\/p>\n<p><strong>Space Complexity:<\/strong> O(n). The stack may have to store all the nodes of the binary tree.<\/p>\n<p>We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print Ancestors of a Given Binary Tree Node without Recursion. <a href=\"https:\/\/www.prepbytes.com\/\" title=\"Prepbytes\">Prepbytes<\/a> also provides a good collection of <a href=\"https:\/\/www.prepbytes.com\/prepbytes-courses\" title=\"Foundation Courses\">Foundation Courses<\/a> that can help you enhance your coding skills. Want to make sure you ace the interview in one go? Join our <a href=\"https:\/\/www.prepbytes.com\/placement-preparation-program\" title=\"Placement Program\">Placement Program<\/a> that will help you get prepared and land your dream job at MNCs. Mentors of Prepbytes are highly experienced and can provide you with basic, in-depth subject knowledge for better understanding.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Problem statement You are given a binary tree and a key node. Your task is to print all the ancestors of the given key node. Input: Root of the binary tree and the key node. Output: List of all the ancestors of the key node. Test cases: Input: Key &#8211; 8 Output: [6, 2, 0]] [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[153],"tags":[],"class_list":["post-9970","post","type-post","status-publish","format-standard","hentry","category-tree"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog<\/title>\n<meta name=\"description\" content=\"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog\" \/>\n<meta property=\"og:description\" content=\"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-26T11:44:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-10T09:14:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Print Ancestors of a Given Binary Tree Node without Recursion\",\"datePublished\":\"2022-09-26T11:44:22+00:00\",\"dateModified\":\"2022-10-10T09:14:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\"},\"wordCount\":534,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\",\"articleSection\":[\"Trees\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\",\"name\":\"Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\",\"datePublished\":\"2022-09-26T11:44:22+00:00\",\"dateModified\":\"2022-10-10T09:14:49+00:00\",\"description\":\"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trees\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/tree\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Print Ancestors of a Given Binary Tree Node without Recursion\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog","description":"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/","og_locale":"en_US","og_type":"article","og_title":"Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog","og_description":"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.","og_url":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2022-09-26T11:44:22+00:00","article_modified_time":"2022-10-10T09:14:49+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Print Ancestors of a Given Binary Tree Node without Recursion","datePublished":"2022-09-26T11:44:22+00:00","dateModified":"2022-10-10T09:14:49+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/"},"wordCount":534,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg","articleSection":["Trees"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/","url":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/","name":"Print Ancestors of a Given Binary Tree Node without Recursion | PrepBytes Blog","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg","datePublished":"2022-09-26T11:44:22+00:00","dateModified":"2022-10-10T09:14:49+00:00","description":"We tried to discuss Print Ancestors of a Given Binary Tree Node without Recursion. We hope this article gives you a better understanding of Print ancestors.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1664155889041-Topic.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/print-ancestors-of-a-given-binary-tree-node-without-recursion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Trees","item":"https:\/\/prepbytes.com\/blog\/category\/tree\/"},{"@type":"ListItem","position":3,"name":"Print Ancestors of a Given Binary Tree Node without Recursion"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=9970"}],"version-history":[{"count":2,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9970\/revisions"}],"predecessor-version":[{"id":10176,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/9970\/revisions\/10176"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=9970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=9970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=9970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}