• 【LeetCode】Verify Preorder Serialization of a Binary Tree(331)


    1. Description

      One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, we record the node's value. If it is a null node, we record using a sentinel value such as #.

         _9_
        /   
       3     2
      /    / 
     4   1  #  6
    /  /    / 
    # # # #   # #
    

    For example, the above binary tree can be serialized to the string "9,3,4,#,#,1,#,#,2,#,6,#,#", where # represents a null node.

    Given a string of comma separated values, verify whether it is a correct preorder traversal serialization of a binary tree. Find an algorithm without reconstructing the tree.

    Each comma separated value in the string must be either an integer or a character '#' representing null pointer.

    You may assume that the input format is always valid, for example it could never contain two consecutive commas such as "1,,3".

    Example 1:
    "9,3,4,#,#,1,#,#,2,#,6,#,#"
    Return true

    Example 2:
    "1,#"
    Return false

    Example 3:
    "9,#,#,1"
    Return false

    2. Answer

      

    public class Solution {
       public static boolean isValidSerialization(String preorder) {
           String[] strs = preorder.split(",");
            int degree = -1; // root has no indegree, for compensate init with -1
            for (String str : strs) {
                degree++; // all nodes have 1 indegree (root compensated)
                if (degree > 0) { // total degree should never exceeds 0
                    return false;
                }
                if (!str.equals("#")) {// only non-leaf node has 2 outdegree
                    degree -= 2;
                }
            }
            return degree == 0;
       }
    }
  • 相关阅读:
    网络故障排除工具 | 快速定位网络故障
    Brocade博科光纤交换机zone配置
    博科Brocade 300光纤交换机配置zone教程
    游戏开发
    第8章 图
    第7章 二叉树
    第6章 树型结构
    第5章 递归
    第4章 字符串、数组和特殊矩阵
    第3章 顺序表的链式存储
  • 原文地址:https://www.cnblogs.com/leesf456/p/5380246.html
Copyright © 2020-2023  润新知