Verify Preorder Serialization of a Binary Tree
来源:互联网 发布:知乎怎么对用户提问 编辑:程序博客网 时间:2024/05/01 10:37
原題:这里写链接内容
分析:这道题问给定一个序列化的书,判断是否是个有效的先序遍历结果,而且不允许重构树的方法。
首先,我们从叶节点开始看,对于一个叶节点,它的接下来的那两个字母一定是#,因此,在遇到两个#的时候,不妨把叶节点删掉,也就是将该叶节点变成一个#,这样当遍历一遍的时候,对于合法的树,那么一定只剩下#
public class Solution { public boolean isValidSerialization(String preorder) { String[] strs = preorder.split(","); //add all char array to lists ArrayList<Character> lists = new ArrayList<Character>(); for(String str:strs){ lists.add(str.charAt(0)); } for(int i = 0;i<lists.size();i++){ char ch = lists.get(i); if(ch == '#' && i == 0) break; if(ch == '#' && lists.get(i-1) == '#'){ i-=2; lists.remove(i);//将prevprev移除 lists.remove(i);//将prev移除 i--;//这里-1表示回退一格,从当前位置继续 } } if(lists.size()!=1) return false; return lists.get(0) == '#'; }}
0 0
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- Verify Preorder Serialization of a Binary Tree
- leetcode Verify Preorder Serialization of a Binary Tree
- 331. Verify Preorder Serialization of a Binary Tree
- Leetcode: Verify Preorder Serialization of a Binary Tree
- LeetCode Verify Preorder Serialization of a Binary Tree
- leetcode 331. Verify Preorder Serialization of a Binary Tree
- [LeetCode]331. Verify Preorder Serialization of a Binary Tree
- 331. Verify Preorder Serialization of a Binary Tree
- [leetcode] Verify Preorder Serialization of a Binary Tree
- mySQL 添加表约束
- 一篇很全面的freemarker教程
- Myeclipse 常用快捷键
- Lua中的loadfile、dofile、require详解
- rt3070sta GNU / Linux 64 bit driver working
- Verify Preorder Serialization of a Binary Tree
- 如何防止重复发送Ajax请求
- 在线免费生成IntelliJ IDEA 15.0注册码
- 深搜+回溯 poj3009 Curling 2.0
- Java23种设计模式简介与原则
- C++面试题
- 关于join执行时where的执行时间
- CAS Server 4.0 + RESTfull + Services调用 完全使用文档
- 浏览器插件之ActiveX开发(一)