# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

#   题解: https://leetcode.cn/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/description/
# 
# @param pRootOfTree TreeNode类 
# @return TreeNode类
#
class Solution:
    def Convert(self , pRootOfTree ):
        # write code here
        def dfs(cur):
            if not cur:
                return 
            dfs(cur.left)
            # 修改节点
            if self.pre:
                self.pre.right=cur 
                cur.left=self.pre 
            else:
                # 修改头结点
                self.head=cur
            self.pre=cur # 保存节点
            dfs(cur.right)
        if  not  pRootOfTree:
            return None
        self.pre=None
        self.head=None
        dfs(pRootOfTree)
        # 牛客网要去掉下面的
        #self.head.left=self.pre 
        #self.pre.right=self.head
        return self.head