树-117. 填充每个节点的下一个右侧节点指针 II-PYTHON

在这里插入图片描述

class Solution:
    
    def processChild(self, childNode, prev, leftmost):
        if childNode: #没有子节点的情况下停止
            if prev: #下层的上一次访问的节点,如果
                prev.next = childNode
            else:    #同一层没有可以向右移动的下层节点,继续向下一层移动
                leftmost = childNode
            prev = childNode  #移向同一层的下一个节点
        return prev, leftmost
    
    def connect(self, root):
        
        if not root:  #空树
            return root
        
        leftmost = root #标记最左侧节点

        while leftmost:
            prev, curr = None, leftmost
            leftmost = None
            while curr:
                
                prev, leftmost = self.processChild(curr.left, prev, leftmost)
                prev, leftmost = self.processChild(curr.right, prev, leftmost)

                curr = curr.next #上层指针节点右移
                
        return root 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是AI语言模型,无法提供脚本填充,但我可以提供大致的步骤: 1. 在 controller 节点上执行以下命令安装 mariadb、mencached、rabbitmq: ``` sudo apt-get install mariadb-server python-mysqldb memcached rabbitmq-server ``` 2. 配置 mariadb 编辑 /etc/mysql/mariadb.conf.d/50-server.cnf 文件,将以下内容添加到 [mysqld] 部分: ``` bind-address = controller_ip_address ``` 注:将 controller_ip_address 替换为控制节点的 IP 地址。 3. 配置 rabbitmq 执行以下命令创建 openstack 用户: ``` sudo rabbitmqctl add_user openstack RABBIT_PASS sudo rabbitmqctl set_permissions openstack ".*" ".*" ".*" ``` 注:将 RABBIT_PASS 替换为你设置的密码。 4. 配置 memcached 编辑 /etc/memcached.conf 文件,将以下内容添加到 OPTIONS 行: ``` -l controller_ip_address ``` 注:将 controller_ip_address 替换为控制节点的 IP 地址。 5. 配置 keystone 编辑 /etc/keystone/keystone.conf 文件,将以下内容添加到 [database] 部分: ``` connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone ``` 注:将 KEYSTONE_DBPASS 替换为你设置的密码。 6. 配置 glance 编辑 /etc/glance/glance-api.conf 和 /etc/glance/glance-registry.conf 文件,将以下内容添加到 [database] 部分: ``` connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance ``` 注:将 GLANCE_DBPASS 替换为你设置的密码。 7. 配置 nova 编辑 /etc/nova/nova.conf 文件,将以下内容添加到 [database] 部分: ``` connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova ``` 注:将 NOVA_DBPASS 替换为你设置的密码。 8. 配置 neutron 编辑 /etc/neutron/neutron.conf 文件,将以下内容添加到 [database] 部分: ``` connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron ``` 注:将 NEUTRON_DBPASS 替换为你设置的密码。 9. 重启服务 执行以下命令重启服务: ``` sudo service mysql restart sudo service memcached restart sudo service rabbitmq-server restart ``` 10. 启用服务 执行以下命令启用服务: ``` sudo systemctl enable rabbitmq-server.service memcached.service ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值