这是我需要帮助将Java转换为JavaScript的代码。这里的代码是一个用Java编写的遍历二叉树,我所需要的只是将它从Java转换成JavaScript的帮助。
用于不同树遍历的Java程序
/* Class containing left and right child of current
node and key value*/
class Node {
int key;
Node left, right;
public Node(int item)
{
key = item;
left = right = null;
}
}
class BinaryTree {
// Root of Binary Tree
Node root;
BinaryTree() { root = null; }
/* Given a binary tree, print its nodes according to the
"bottom-up" postorder traversal. */
void printPostorder(Node node)
{
if (node == null)
return;
// first recur on left subtree
printPostorder(node.left);
// then recur on right subtree
printPostorder(node.right);
// now deal with the node
System.out.print(node.key + " ");
}
/* Given a binary tree, print its nodes in inorder*/
void printInorder(Node node)
{
if (node == null)
return;
/* first recur on left child */
printInorder(node.left);
/* then print the data of node */
System.out.print(node.key + " ");
/* now recur on right child */
printInorder(node.right);
}
/* Given a binary tree, print its nodes in preorder*/
void printPreorder(Node node)
{
if (node == null)
return;
/* first print data of node */
System.out.print(node.key + " ");
/* then recur on left sutree */
printPreorder(node.left);
/* now recur on right subtree */
printPreorder(node.right);
}
// Wrappers over above recursive functions
void printPostorder() { printPostorder(root); }
void printInorder() { printInorder(root); }
void printPreorder() { printPreorder(root); }
// Driver method
public static void main(String[] args)
{
BinaryTree tree = new BinaryTree();
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
tree.root.left.right = new Node(5);
System.out.println(
"Preorder traversal of binary tree is ");
tree.printPreorder();
System.out.println(
"\nInorder traversal of binary tree is ");
tree.printInorder();
System.out.println(
"\nPostorder traversal of binary tree is ");
tree.printPostorder();
}
}
失望者:我已经研究了如何转换代码,但没有一个显示如何做到这一点。所以请帮帮忙。
这段代码的答案就在这里,所以如果你们中的任何一个有同样的问题,那么就来这里复制这段代码!这段代码不是我写的,实际上是一个叫@Wrangler的人写的。谢谢牧人和我分享你的代码!
var displayTree = tree => console.log(JSON.stringify(tree, null, 2));
function Node(value) {
this.value = value;
this.left = null;
this.right = null;
}
function BinarySearchTree() {
this.root = null;
// Only change code below this line
this.inor=[];
this.inorder = function(node=this.root){
if(!this.root) return null;
if(node==this.root) this.inor=[];
if(!node) return this.inor;
this.inorder(node.left);
this.inor.push(node.value);
this.inorder(node.right);
return this.inor;
}
this.preor=[];
this.preorder = function(node=this.root){
if(!this.root) return null;
if(node==this.root) this.preor=[];
if(!node) return this.preor;
this.preor.push(node.value);
this.preorder(node.left);
this.preorder(node.right);
return this.preor;
}
this.postor=[];
this.postorder = function(node=this.root){
if(!this.root) return null;
if(node==this.root) this.postor=[];
if(!node) return this.postor;
this.postorder(node.left);
this.postorder(node.right);
this.postor.push(node.value);
return this.postor;
}
// Only change code above this line
}
我正试图从第I列A列中查找ID。这是我使用的代码:
我发现了这个美丽的小数到小数的函数:https://gist.github.com/natecook1000/9ecc976aaac9a035bddf 我已经操纵了我的应用程序的必要性,并希望在制作Kotlin版本的帮助上面。我确实尝试过自己进行转换,但我是一名新手,在科特林只呆了3周。我没有足够的经验来匹配不同语言之间的语法和语义,我自己也做不到。感谢您的帮助:) 我将上面的内容更改为输出16英
给定一个整数数组Nums,返回所有的三元组[Nums[i], Nums[j], Nums[k]]使得i!=j, i!=k,和j!=k,并且Nums[i]Nums[j]Nums[k]==0。 请注意,解决方案集不能包含重复的三元组。 例1: 输入:nums=[-1,0,1,2,-1,-4] 输出:[-1,-1,2],-1,0,1]] 例2: 输入:nums=[] 输出:[] 例3: 输入:nums=
问题描述: 鲍里斯特教授研究树木。他记录了所有他喜欢的树的前序、序和后序遍历。然而,他办公室的一场火灾摧毁了他存放有序遍历的文件柜。他仍然拥有他最喜欢的所有树的前序和后序遍历,这些信息足以重建丢失的按序遍历吗? 您必须为以下任务设计和实现一个程序:输入将由两个数字列表组成。第一个列表是一些树T的前序遍历。第二个列表是同一棵树T的后序遍历。输出应该是T的无序遍历。如果输入没有确定唯一的树,那么任何一
这是我最近遇到的问题- null 假设我有三个整数k,m,n。我必须以最少的操作次数从k到达m,可能的操作是- 你可以把k乘以n。 你可以把k降低2。 你可以把k减1。 此外,这3个操作可以按任何顺序执行。 有很多方法可以尝试--无论是递归还是动态方法。但是我找到了一个有趣的解决方案,它没有实现这两个,而且我很难理解它。这里有代码供参考- 好吧,我真的很抱歉不能包含注释,因为我不能得到这段代码的诀
问题内容: 我有一张桌子上有用户帖子。我需要显示每天每位用户从1到最多n条帖子。 例子: 我需要一个查询,例如返回每个用户每天最多2条帖子的查询: 我尝试使用GROUP和HAVING,但是我仅获得前n个记录,而不是每个用户每天的前n个记录: 问题答案: 试试这个糟糕的SQL代码:) 结果: 在这里摆弄。 我认为如果按日期降序排序会更合适,因为实际上是最接近当前日期的前2位。