331. Verify Preorder Serialization of a Binary Tree

来源:互联网 发布:com域名删除的准确时间 编辑:程序博客网 时间:2024/05/16 06:22

用# 代表树的空节点 判断是否是有效的前序遍历树序列



split() 用单引号竟然不对!!   equals() 用单引号竟然不对!!!

public class Solution {    public boolean isValidSerialization(String preorder) {        String[] pre=preorder.split(",");        int diff=1;        for(String str:pre){            if(--diff<0) return false;            if(!str.equals("#")) diff+=2;        }        return diff==0;    }}
后序遍历

public boolean isValidSerialization_PostOrder(String postorder) {String[] nodes = postorder.split(",");int diff = 1;for (String node : nodes) {diff--;if (!node.equals("#")) diff += 2;// Post-Order traversal fail criteriaif (diff > 0) return false;}return diff == 0;}
中序遍历public boolean isValidSerialization_InOrder(String inorder) {String[] nodes = inorder.split(",");int diff = 1;for (String node : nodes) {diff--;if (!node.equals("#")) diff += 2;// In-Order traversal fail criteriaif (diff > 1) return false;}return diff == 0;}

0 0