美文网首页
第五天leetcode刷题/*今天不刷题我们总结一下

第五天leetcode刷题/*今天不刷题我们总结一下

作者: 骨宇 | 来源:发表于2021-07-12 17:59 被阅读0次

这两天刷二叉树的时候感觉绝大部分树的问题大多都可以借助递归完成。
下面借助一个示例简单列一下自己最近总结出来的模板和一些性质。


示例
struct TreeNode
{
    int val;
    TreeNode * left;
    TreeNode * right;
    TreeNode * parent;
}TreeNode;
  • 前序遍历:根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面
    root = [a|b|d|e|c]
void Preorder(TreeNode * Node)//前序遍历递归算法
{
    if(Node == NULL) return;
    /*结点业务操作*/
    Preorder(Node->left);
    Preorder(Node->right);
}
  • 中序遍历:根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面
    root = [d|b|e|a|c]
void Inorder(TreeNode *Node)//中序遍历递归算法
{
    if(Node == NULL) return;
    Inorder(Node->left);
    /*结点业务操作*/
    Inorder(Node->right);
}
  • 后序遍历:根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面
    root = [d|e|b|c|a]
void Postorder(TreeNode *Node)//后序遍历递归算法
{
    if(Node == NULL) return; 
    Postorder(Node->left);
    Postorder(Node->right);
    /*结点业务操作*/
}

相关文章

网友评论

      本文标题:第五天leetcode刷题/*今天不刷题我们总结一下

      本文链接:https://www.haomeiwen.com/subject/xzrrpltx.html