【问题标题】:find the inorder traversal of the tree and print them all by negating every alternate number [closed]找到树的中序遍历并通过否定每个备用数字来打印它们[关闭]
【发布时间】:2017-10-20 14:39:51
【问题描述】:

例如:

         1
      /      \
    /         \
  2             3
 /  \         / \
 4   5       6   7

中序遍历输出:4 2 5 1 6 3 7

预期输出:4 -2 5 -1 6 -3 7

顺序代码是

Node * func(struct Node * root){
if(root!=NULL)
{
func(root->lChild);
cout<<root->nodeValue<<" ";
func(root->rChild);
}
return NULL;

}

【问题讨论】:

  • 我们假设您不能将所有项目放在一个列表中然后取反,对吧?
  • 问题是什么?正如@alseether 所说,您的标题读起来就像您没有问的问题的答案,只需首先获取所有数字,然后用交替符号打印它们
  • 祝你的作业好运,但如果你真的需要帮助,你应该发布你尝试过的东西,以及你遇到的确切问题。

标签: c++ binary-tree inorder


【解决方案1】:

您可能需要做的就是添加一个额外的参数来跟踪备用符号,如下所示:

Node * func(struct Node * root, int& signV ){
  if(root!=NULL)
  {
    func(root->lChild, signV);
    cout<<root->nodeValue * signV <<" "; signV *= -1 ; // Change sign here
    func(root->rChild, signV);
  }
  return NULL;
}

See Here

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 2021-05-04
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2020-10-28
    • 2017-05-28
    相关资源
    最近更新 更多