典型栈结构的题目
判断二叉树是否对称
http://www.nowcoder.com/questionTerminal/1b0b7f371eae4204bc4a7570c84c2de1
- 和一般的栈的题目不同的是:这个
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ //判断,左边和右边是不是对称的 bool solve( TreeNode * L, TreeNode * R ) { if( nullptr!=L && nullptr!=R ) { if( (L->val) != (R->val) ) { return false; } else { return solve( L->left, R->right ) && solve( L->right, R->left); } } if( nullptr==L && nullptr==R ) { return true; } return false; } class Solution { public: /** * * @param root TreeNode类 * @return bool布尔型 */ bool isSymmetric(TreeNode* root) { // write code here return solve( root, root ); } };