// Maximum Depth of Binary Tree
  int maxDepth(TreeNode *root);
  void maxDepthRecursive(TreeNode *root, int &curDepth, int &maximumDepth);
  // Same Tree
  bool isSameTree(TreeNode *p, TreeNode *q);
  // Reverse Integer
  int reverse(int x);
  // Best Time to buy stocks II
  int maxProfit(vector<int> &prices);
  // Symmetric Tree
  bool isSymmetric(TreeNode *root);
  bool testSymmetric(TreeNode *p, TreeNode *q);
  // Remove Duplicates from Sorted List
  ListNode *deleteDuplicates(ListNode *head);
  // Search Insert Position
  int searchInsert(int A[], int n, int target);