摘要: 对于面向对象的三大特性(封装、继承、多态),几乎是所有人都能张口就来的,但学习设计模式之前,依旧应该好好复习一下面向对象的设计原则,不仅是由于拘泥于背定义的前提下去理解的原则永远只是纸面功夫,更是因为这六大原则几乎贯穿所有设计模式之中,甚至可以基于他们来构建属于自己的设计模式。 ###首先来认识一下 阅读全文
posted @ 2020-12-03 11:18 Shaw'sNote 阅读(91) 评论(0) 推荐(0)
摘要: 在排序届中,快排 无论论其空间复杂度还是时间复杂度,它的优势都位居前列,这也是很多人在提起sort时,第一个想起的就是快速排序 但实际快排也有属于它的痛点,首先附上一段最简单的快排代码: void QuickSortRecurse(vector< int > &vec, int start, int 阅读全文
posted @ 2020-07-25 14:41 Shaw'sNote 阅读(190) 评论(0) 推荐(0)
摘要: [235] 二叉搜索树的最近公共祖先 思路比较简单,根据二叉搜索树性质,要找的node的val只要 p或q->val ⇐ node->val ⇐ q或p->val class Solution { public: TreeNode *recurse(TreeNode *curr, TreeNode 阅读全文
posted @ 2020-07-23 18:59 Shaw'sNote 阅读(107) 评论(0) 推荐(0)