序列化二叉樹

題目描述
請實現兩個函數,分別用來序列化和反序列化二叉樹

public class Solution {
    
    public int index = -1;
    String Serialize(TreeNode root) {
        
        StringBuffer sb = new StringBuffer();
        if(root == null) {
            
            sb.append("#,");
            return sb.toString();
        }
        sb.append(root.val + ",");
        sb.append(Serialize(root.left));
        sb.append(Serialize(root.right));
        return sb.toString();
    }
    TreeNode Deserialize(String str) {
        
        index ++;
        int len = str.length();
        if(index >= len)
            return null;
        String[] strr = str.split(",");
        TreeNode node = null;
        if(!strr[index].equals("#")) {
            
            node = new TreeNode(Integer.valueOf(strr[index]));
            node.left = Deserialize(str);
            node.right = Deserialize(str);
        }
        return node;
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 本系列導航:劍指offer(第二版)java實現導航帖 面試題37:序列化二叉樹 題目要求:實現兩個函數,分別用來...
    ryderchan閱讀 1,464評論 0 1
  • 請實現兩個函數,分別用來序列化和反序列化二叉樹 語言java算法分析: 我們可以采用先序遍歷的思想,只是在這里需要...
    克里斯加德納閱讀 639評論 0 50
  • 《劍指offer》62題:采用前序遍歷進行序列化下面的二叉樹得到: 反序列化:用序列得到二叉樹。 兩個都是用前序遍...
    抬頭挺胸才算活著閱讀 128評論 0 0
  • https://leetcode.com/problems/serialize-and-deserialize-b...
    丁不想被任何狗咬閱讀 371評論 0 0
  • 小火炬第一次掉地,從沙發上。我正在廚房做飯,忽然聽見當一聲。我以為是他爸從外頭回來了。然后就聽見小火炬粗重和急迫的...
    過我的小日子閱讀 145評論 0 0