zoukankan      html  css  js  c++  java
  • 剑指offer-二叉树

    二叉树的下一个结点

    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。


     

    解题思路:中序遍历:左根右

    二叉树结点:

      为空

      为左子树,其下个结点为其父节点

      为右子树,其下个节点为其父节点的父节点。。。直到找到父节点


     

    
    

    对称二叉树

    请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

     1 /*
     2 struct TreeNode {
     3     int val;
     4     struct TreeNode *left;
     5     struct TreeNode *right;
     6     TreeNode(int x) :
     7             val(x), left(NULL), right(NULL) {
     8     }
     9 };
    10 */
    11 class Solution {
    12 public:
    13     bool isSymmetrical(TreeNode* pRoot)
    14     {
    15         if(pRoot==nullptr)
    16             return 1;
    17         
    18         return(Symmetrical(pRoot->left,pRoot->right));
    19     
    20     }
    21     
    22     bool Symmetrical(TreeNode* pRight, TreeNode* pLeft)
    23     {
    24         if((pRight==nullptr)&&(pLeft==nullptr)) return 1;
    25         
    26         if((pRight!=nullptr)&&(pLeft!=nullptr)) 
    27             return((pRight->val==pLeft->val)&&Symmetrical(pLeft->left,pRight->right)&&Symmetrical(pLeft->right,pRight->left));
    28         
    29             
    30         return 0;
    31     }
    32 
    33 };

     

  • 相关阅读:
    tomcat常见错误及解决方案
    MySQL 5.6 for Windows 解压缩版配置安装
    win7 cmd 操作mysql数据库
    @Responsebody与@RequestBody
    ajax常用参数
    JSP和servlet有什么区别?
    面试 小总结
    cocoapods导入三方库头文件找不到问题
    git笔记
    iOS裁剪,缩放图片白边问题解决办法
  • 原文地址:https://www.cnblogs.com/lemon333333/p/10235199.html
Copyright © 2011-2022 走看看