国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Leetcode 297. 二叉樹的序列化與反序列化

這篇具有很好參考價值的文章主要介紹了Leetcode 297. 二叉樹的序列化與反序列化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

題目

Leetcode 297. 二叉樹的序列化與反序列化,Leetcode專欄,leetcode,redis,數(shù)據(jù)庫

297. 二叉樹的序列化與反序列化文章來源地址http://www.zghlxwxcb.cn/news/detail-730092.html

代碼(9.30 首刷自解)

class Codec {
public:
    string SEP = ",";
    string NULL_STR = "#";
    // Encodes a tree to a single string.
    string serialize(TreeNode* root) {
        if(!root)
            return NULL_STR + SEP;
        string res = to_string(root->val) + SEP;
        res += serialize(root->left);
        res += serialize(root->right);
        return res;
    }

    // Decodes your encoded data to tree.
    TreeNode* deserialize(string data) {
        deque<string> nodes;
        string tmp;
        for(char& c : data) {
            if(string(1,c) != SEP) {
                tmp += c;
            } else {
                nodes.emplace_back(tmp);
                tmp.clear();
            }
        }
        return help(nodes);
    }
    TreeNode* help(deque<string>& nodes) {
        auto front = nodes.front();
        nodes.pop_front();
        if(front == NULL_STR)
            return nullptr;
        auto root = new TreeNode(stoi(front));
        root->left = help(nodes);
        root->right = help(nodes);
        return root;
    }
};

到了這里,關(guān)于Leetcode 297. 二叉樹的序列化與反序列化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 想要精通算法和SQL的成長之路 - 二叉樹的序列化和反序列化問題

    想要精通算法和SQL的成長之路 - 二叉樹的序列化和反序列化問題

    想要精通算法和SQL的成長之路 - 系列導航 二叉樹的層序遍歷 像這種從上至下并且按層打印的,可以稱之為 二叉樹的廣度優(yōu)先搜索( BFS ) 。而這類算法往往借助 隊列的一個先入先出特性 來實現(xiàn)。 那么有這么幾個步驟: 1.特殊處理還有初始化動作。 2. BFS 循環(huán): 最終完整代

    2024年02月07日
    瀏覽(31)
  • 刷題日記01:序列化和反序列化二叉樹

    刷題日記01:序列化和反序列化二叉樹

    一.概念理解: 題目如下:https://leetcode.cn/problems/xu-lie-hua-er-cha-shu-lcof/ 何為序列化? 序列化我們可以理解為層序遍歷的結(jié)果,即將所有的結(jié)點的信息,按照層序遍歷的結(jié)果拼接到一個字符串中,但是與一般的層序遍歷有所不同的是:序列化要輸出所有的結(jié)點信息,而層序遍歷

    2024年02月13日
    瀏覽(48)
  • 【序列化與反序列化】關(guān)于序列化與反序列化MessagePack的實踐

    【序列化與反序列化】關(guān)于序列化與反序列化MessagePack的實踐

    在進行序列化操作之前,我們還對系統(tǒng)進行壓測,通過 jvisualvm 分析cpu,線程,垃圾回收情況等;運用火焰圖 async-profiler 分析系統(tǒng)性能,找出程序中占用CPU資源時間最長的代碼塊。 代碼放置GitHub:https://github.com/nateshao/leetcode/tree/main/source-code/src/main/java/com/nateshao/source/code/ser

    2024年02月11日
    瀏覽(28)
  • 【LeetCode - 每日一題】449. 序列化和反序列化二叉搜索樹(23.09.04)

    給定一棵二叉搜索樹,實現(xiàn)序列化和反序列化; 注意 val 范圍,因此 在序列化時需要插入分隔符分割每個節(jié)點的 val ; 要善于利用 二叉搜索樹的特性(中序遍歷 = 遞增排序) ; 前序遍歷 + 中序遍歷 可以重構(gòu)一棵樹,又由于二叉搜索樹自帶中序遍歷,因此在序列化時保存前

    2024年02月10日
    瀏覽(17)
  • 【Linux】序列化與反序列化

    【Linux】序列化與反序列化

    目錄 前言 什么是應(yīng)用層? 再談\\\"協(xié)議\\\" ?什么是序列化和反序列化 網(wǎng)絡(luò)版計算器 整體流程實現(xiàn) Sock.hpp的實現(xiàn) TcpServer.hpp的實現(xiàn) Protocol.hpp的實現(xiàn) CalServer.cc的編寫 CalClient.cc的編寫 整體代碼 ? ????????本章是屬于TCP/UDP四層模型中的第一層 應(yīng)用層 相關(guān)的內(nèi)容。主要介紹了序列

    2024年02月10日
    瀏覽(19)
  • 4.4. 對象序列化與反序列化

    4.4. 對象序列化與反序列化

    在本節(jié)中,我們將詳細討論Java中的對象序列化與反序列化概念、使用方法以及實例。對象序列化是將對象的狀態(tài)信息轉(zhuǎn)換為字節(jié)流的過程,而反序列化則相反,是將字節(jié)流恢復為對象的過程。 4.4.1 為什么需要對象序列化? 對象序列化的主要目的是為了在不同的系統(tǒng)間傳輸對

    2024年02月07日
    瀏覽(23)
  • Flutter筆記:序列化與反序列化

    Flutter筆記 序列化與反序列化 作者 : 李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 郵箱 : 291148484@163.com 本文地址 :https://blog.csdn.net/qq_28550263/article/details/133340592 序列化是一種將復雜數(shù)據(jù)結(jié)構(gòu)(例如對象、數(shù)組、字典等)轉(zhuǎn)換為線性格式或字節(jié)流的過程,以便于數(shù)據(jù)的存儲

    2024年02月07日
    瀏覽(15)
  • 序列化與反序列化讀取配置文件

    序列化與反序列化讀取配置文件

    定義一個連接配置文件類OmCipNetParam 定義一個結(jié)構(gòu)體,傳遞函數(shù)運行結(jié)果和運行信息 ? 使用Newtonsoft.Json進行序列化和反序列化讀寫配置文件 同理反序列讀取配置文件 注意這里需要引入庫

    2024年02月08日
    瀏覽(22)
  • 【計算機網(wǎng)絡(luò)】序列化與反序列化

    【計算機網(wǎng)絡(luò)】序列化與反序列化

    通過打包的方式,將結(jié)構(gòu)體message發(fā)送給對方 對方收到后就會報告給上層QQ客戶端 結(jié)構(gòu)化的數(shù)據(jù) 是由 多個 string 構(gòu)成的 而以前在網(wǎng)絡(luò)套接字 發(fā)送時,都是按照一個字符串的方式來發(fā)送和接收的 所以想辦法 ,把多個字符串 轉(zhuǎn)化為 一個大\\\"字符串\\\",對方在接收時也是一個長的

    2024年02月10日
    瀏覽(25)
  • Springboot Jackson 序列化與反序列化配置

    可解決在使用默認反序列化Jackson時,LocalDateTime類型的請求參數(shù)反序列化失敗的問題

    2024年02月02日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包