0100相同的树 增加 js 迭代法版本

This commit is contained in:
wang2jun
2022-08-19 10:42:17 +08:00
committed by GitHub
parent b7e4c6901f
commit 058f64624a

View File

@ -253,6 +253,28 @@ var isSameTree = function (p, q) {
return isSameTree(p.left, q.left) && isSameTree(p.right, q.right);
};
```
> 迭代法
```javascript
var isSameTree = (p, q) => {
const queue = [{ p, q }];
// 这是用{ } 解决了null的问题
while (queue.length) {
const cur = queue.shift();
if (cur.p == null && cur.q == null) continue;
if (cur.p == null || cur.q == null) return false;
if (cur.p.val != cur.q.val) return false;
queue.push({
p: cur.p.left,
q: cur.q.left
}, {
p: cur.p.right,
q: cur.q.right
});
}
return true;
};
```
TypeScript: