Bog*_*sev 3 javascript algorithm binary tree
我怎样才能翻转二叉树?我最近遇到了这个问题,我所有的尝试都失败了。初始树如下所示。
4
/ \
2 7
/ \ / \
1 3 6 9
4
/ \
7 2
/ \ / \
9 6 3 1
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {TreeNode}
*/
var invertTree = function(root) {
};
Run Code Online (Sandbox Code Playgroud)
小智 9
使用DFS(深度优先搜索)在js中使用递归方法会更容易,并且只需交换节点
const trav = (currNode) => {
if (currNode === null) {
return;
}
const temp = currNode.lNode;
currNode.lNode = currNode.rNode;
currNode.rNode = temp;
trav(currNode.lNode);
trav(currNode.rNode);
};
trav(root);
return root;
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅我为更有趣的方法编写的类 -
类 - https://www.npmjs.com/package/@dsinjs/binary-tree
reverse() 方法的文档 - https://dsinjs.github.io/二叉树/#reverse
归档时间: |
|
查看次数: |
10042 次 |
最近记录: |