解题思路
使用计数法,记录一个总的条数,剩余槽树的数量,对序列进行遍历,当我们遍历到是# 号时,说明,不需要给它预制槽数,对槽数进行--,为数字时,对剩余槽数进行累加,
var isValidSerialization = function(preorder) {
// 总条数
const n = preorder.length
// 指针
let i =0
// 槽数
let slots = 1
// 指针小于总条数
while( i < n) {
// 没有槽数直接返回false
if(slots === 0) {
return false
}
// 判断走到,
if(preorder[i] === ',') {
++i;
}
// 空的情况
if(preorder[i] === '#') {
--slots;
++i;
} else {
// 数字情况
while( i < n && preorder[i] !== ',') {
++i;
}
++slots
}
}
return slots == 0
};