首页 > 其他 > 详细

Convert a given binary tree to double linked list

时间:2017-09-10 09:46:26      阅读:287      评论:0      收藏:0      [点我收藏+]

技术分享

 public TreeNode binaryTree2List(TreeNode node)
	 {
		 if (node == null)
	            return node;
	  
	        // Convert to DLL using bintree2listUtil()
	        node = bintree2listUtil(node);
	        while (node.left!=null) {
				node=node.left;
				
			}
	        return node;
	 }
	 TreeNode bintree2listUtil(TreeNode node) 
	    {
	        if (node==null) {
				return node;
			}
	        if (node.left!=null) {
				TreeNode leftNode=bintree2listUtil(node.left);
				while (leftNode.right!=null) {
					leftNode=leftNode.right;
					
				}
				leftNode.right=node;
				node.left=leftNode;
			}
	        if (node.right!=null) {
				TreeNode rightNode=bintree2listUtil(node.right);
				while (rightNode.left!=null) {
					rightNode=rightNode.left;
					
				}
				rightNode.left=node;
				node.right=rightNode;
			}
	        return node;
	    }

  

 

Convert a given binary tree to double linked list

原文:http://www.cnblogs.com/lilyfindjobs/p/7500110.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!