LeetCode 第331题:

题目描述

解决思路:

  • 按照一棵树的出度跟入度相等的规则来做。首先这棵树加上了“#”,那么将“#”也作为二叉树的一部分来算。根节点只有出度,将diff=1.
class Solution {
    public boolean isValidSerialization(String preorder) {
        String[] str = preorder.split(",");
        int diff = 1;
        for(int i = 0; i < str.length; i++){
            if(--diff < 0){
                return false;
            }
            if(!str[i].equals("#")){
                diff += 2;
            }
        }
        return diff == 0;
    }
}

推荐阅读更多精彩内容

  • 树形结构 在前面章节中介绍到的数据结构,都为线性结构,比如链表,数组,队列等,都属于线性结构,类似于通过一根线串在...
    ducktobey阅读 40评论 0 0
  • 树的基本概念 节点,根节点,父节点,子节点,兄弟节点都是属于树的范涛; 一棵树可以没有任何节点,称为空树; 一棵树...
    fengsonglin阅读 40评论 0 0
  • 前言 2. 实现 Singleton 3. 数组中重复的数字 4. 二维数组中的查找 5. 替换空格 6. 从尾到...
    Observer_____阅读 1,422评论 0 2
  • 一. 二叉树 L、D、R分别表示遍历左子树、访问根结点和遍历右子树 先序遍历:DLR 中序遍历:LDR 后序遍历:...
    Java_苏先生阅读 92评论 0 2
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 1,258评论 0 4