执行一个测试用例后如何更新静态变量值?

时间:2019-04-02 09:11:35

标签: c++ data-structures

我想将Binary Search树转换为双链表。我做了将BST转换为DLL的代码。我的代码为第一个测试用例生成了正确的输出,但此后它没有任何输出。问题是使用静态变量。我是否必须为所有测试用例生成正确的输出?

void BToDLL(Node *root, Node **head_ref)
{
    static Node* prev=NULL;
    if(root==NULL)
    return;
    BToDLL(root->left,head_ref);
    if(prev==NULL)
    {
        *head_ref=root;
    }
    else
    {
        root->left=prev;
        prev->right=root;
    }
    prev=root;
    BToDLL(root->right,head_ref);
}

1 个答案:

答案 0 :(得分:0)

您可以修改函数以采用第三个参数,该参数的默认值为import requests from bs4 import BeautifulSoup def getconnect(website): req = requests.get(website) return req.text def bs4(text): soup = BeautifulSoup(text , 'html.parser') print soup.title print soup.p text = getconnect(raw_input('Enter Website: ')) bs4(text) ,而不是使用局部static变量。

NULL

首次调用void BToDLL(Node *root, Node **head_ref, Node* prev=NULL) 时,将采用默认值,但是在对<{1}的最后递归调用中,您也可以指定BToDLL参数

BToDLL