Today I have solved the problem in javascript

Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be reconstructed later in the same or another computer environment.

Design an algorithm to serialize and deserialize a binary tree. There is no restriction on how your serialization/deserialization algorithm should work. You just need to ensure that a binary tree can be serialized to a string and this string can be deserialized to the original tree structure.

Clarification: The input/output format is the same as how LeetCode serializes a binary tree. You do not necessarily need to follow this format, so please be creative and come up with different approaches yourself.

 var serialize = function(root) {

    const result = [];
    function dfs(node){
        if(node == null) {
            result.push('N');
            return;
        }
        result.push(node.val);
        dfs(node.left);
        dfs(node.right);
    }
    dfs(root);
    return result.join(',');
    };
var deserialize = function(data) {
     const iterator = data.split(',').values();
    function dfs(){
        const { value, done } = iterator.next();
        if(value === 'N' || done){
            return null;
        }
        const node = new TreeNode(value);
        node.left = dfs();
        node.right = dfs();
        return node;
    }
    return dfs();
};

Comments

Popular posts from this blog

Building a Full-Stack Student Management System with React.js and NestJS

Today I have solved the problem in javascript

Today I have solved problem in javascript