91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c#二叉樹如何進行反序列化

c#
小樊
86
2024-07-26 02:39:18
欄目: 編程語言

在C#中,可以使用以下代碼來反序列化一個二叉樹:

using System;
using System.Collections.Generic;

public class TreeNode
{
    public int val;
    public TreeNode left;
    public TreeNode right;

    public TreeNode(int x)
    {
        val = x;
    }
}

public class BinaryTreeSerializer
{
    public string Serialize(TreeNode root)
    {
        if (root == null)
        {
            return "null";
        }

        return root.val + "," + Serialize(root.left) + "," + Serialize(root.right);
    }

    public TreeNode Deserialize(string data)
    {
        Queue<string> nodes = new Queue<string>(data.Split(','));

        return DeserializeHelper(nodes);
    }

    private TreeNode DeserializeHelper(Queue<string> nodes)
    {
        string val = nodes.Dequeue();

        if (val == "null")
        {
            return null;
        }

        TreeNode node = new TreeNode(int.Parse(val));
        node.left = DeserializeHelper(nodes);
        node.right = DeserializeHelper(nodes);

        return node;
    }
}

public class Program
{
    public static void Main()
    {
        TreeNode root = new TreeNode(1);
        root.left = new TreeNode(2);
        root.right = new TreeNode(3);
        root.left.left = new TreeNode(4);
        root.left.right = new TreeNode(5);

        BinaryTreeSerializer serializer = new BinaryTreeSerializer();
        string serializedData = serializer.Serialize(root);
        Console.WriteLine(serializedData);

        TreeNode deserializedRoot = serializer.Deserialize(serializedData);
        Console.WriteLine(deserializedRoot.val); // Output: 1
    }
}

在上面的代碼中,我們定義了一個TreeNode類來表示二叉樹的節點,然后定義了一個BinaryTreeSerializer類來實現二叉樹的序列化和反序列化功能。Serialize方法用于將二叉樹序列化為字符串,Deserialize方法用于將字符串反序列化為二叉樹。最后,在Main方法中我們演示了如何使用這兩個方法來序列化和反序列化一個二叉樹。

0
洛阳市| 罗江县| 麻江县| 遂宁市| 九寨沟县| 安仁县| 九江市| 邢台县| 鄯善县| 庆阳市| 庆云县| 汾西县| 资兴市| 勐海县| 台湾省| 兖州市| 新安县| 金华市| 灵山县| 斗六市| 鄂伦春自治旗| 固始县| 漳平市| 都江堰市| 宁强县| 蓬安县| 黎川县| 呼和浩特市| 宜兴市| 商洛市| 上蔡县| 阜城县| 白银市| 从化市| 额济纳旗| 城步| 衡南县| 新和县| 于都县| 盈江县| 运城市|