/**
* 翻转二叉树
*/
const { tree } = require("./utils/BinarySearchTree");
/**
* 翻转树
*/
function reverseTree(root) {
if (root == undefined || root == null) {
return;
}
let queue = [];
root.level = 1;
queue.push(root);
while (queue.length) {
let node = queue.shift();
//将节点的左节点,右节点调换位置。
let leftNode = node.leftNode;
let rightNode = node.rightNode;
node.leftNode = rightNode;
node.rightNode = leftNode;
if (node.leftNode) {
queue.push(node.leftNode);
}
if (node.rightNode) {
queue.push(node.rightNode);
}
}
}
/**
* 层序遍历树
*/
function levelOrderDisplay(root, str = "") {
if (root == undefined || root == null) {
return;
}
let queue = [];
queue.push(root);
while (queue.length) {
let node = queue.shift();
str += `${node.value}, `;
if (node.leftNode) {
queue.push(node.leftNode);
}
if (node.rightNode) {
queue.push(node.rightNode);
}
}
console.log(str.replace(/, $/, ""));
}
levelOrderDisplay(tree);
reverseTree(tree);
levelOrderDisplay(tree);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)