首页 > 其他 > 详细

关于树

时间:2020-06-05 23:28:26      阅读:53      评论:0      收藏:0      [点我收藏+]
技术分享图片
import java.util.*;
public class Solution {
    String Serialize(TreeNode root) {
        

        Queue<TreeNode> queue=new LinkedList<>();
        StringBuilder result=new StringBuilder();
        queue.offer(root);
        while(!queue.isEmpty())
        {
            /*  这种层序不是完全二叉树,只是将每一层的结点串联起来,不包含空结点
            int size=queue.size();
            for(int i=0;i<size;i++)
            {
                TreeNode node=queue.poll();
                result.append(node.val+",");
                if(node.left!=null) 
                    queue.offer(node.left); 

                if(node.right!=null) 
                    queue.offer(node.right); 

            }
            */
            //可以在队列中添加null的空结点
            TreeNode node=queue.poll();
            if(node!=null)
            {
                queue.offer(node.left);
                queue.offer(node.right);
                result.append(node.val+",");
            }
            else
            {
                result.append("#"+",");
            }
             
        }
        if(result.length()!=0)
            result.deleteCharAt(result.length()-1);
         
        return result.toString();
  }
    
    TreeNode Deserialize(String str) {
        
        TreeNode head =null;
        if(str==null || str.length()==0)
            return head;
        String[] nodes=str.split(",");
        TreeNode[] treenodes=new TreeNode[nodes.length];
        for(int i=0;i<nodes.length;i++)
        {
            if(!nodes[i].equals("#"))
            {
                treenodes[i]=new TreeNode(Integer.valueOf(nodes[i]));
            }
                 
        }
         
        for(int i=0,j=1;j<treenodes.length;i++)
        {
            if(treenodes[i]!=null)
            {
                treenodes[i].left=treenodes[j++];
                treenodes[i].right=treenodes[j++];
            }
        }
        return treenodes[0];
         
    }
     
}

 

关于树

原文:https://www.cnblogs.com/lemonzhang/p/13052857.html

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