剑指offer
超文艺小猪猪
学习学习
展开
-
剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径 2021.7.5 leetcode 一些细节值得学习: 不使用visited数组,直接将访问使用的格子对应的字母改成了一个不可用的“\0”; 不使用direction数组,直接四个方向的布尔值结果或起来; 将单词第一个字母的搜索也纳入迭代。 我的代码 class Solution { public: bool find(vector<vector<char>>& board, vector<vector<bool原创 2021-07-05 10:53:02 · 58 阅读 · 0 评论 -
剑指 Offer 09. 用两个栈实现队列
剑指 Offer 09. 用两个栈实现队列 2021.7.5 leetcode 非常巧妙,每次都是把队列中的一段消化完,才会在两个栈间交换数据。 class CQueue { public: CQueue() { } void appendTail(int value); int deleteHead(); private: stack<int> st1,st2; }; //队尾增加数据 void CQueue::appendT原创 2021-07-05 10:14:07 · 45 阅读 · 0 评论 -
剑指 Offer 07. 重建二叉树
剑指 Offer 07. 重建二叉树 2021.7.5 leetcode 自己的基本思路也是递归思路,但是有一个小技巧。前序遍历可以直接确定根节点,中序遍历只要是确定根节点左右两边子树的长度,所以中序遍历可以直接放到字典里去,直接映射 值->位置。 class Solution { public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { this原创 2021-07-05 09:46:49 · 57 阅读 · 0 评论