摘要: 代理模式: 为一个对象提供一个替身以控制访问这个对象。本质:控制对被代理对象的访问。 代理模式在现实生活中很常见,例如:明星与经纪人,房东与房屋中介等。 一、虚拟代理: 控制访问实例化开销大得对象。虚拟代理经常是直到我们真正需要一个对象的时候才创建。当对象在创建前和创建中时,由虚拟代理来扮演对象的替 阅读全文
posted @ 2018-08-24 16:19 菠菜汤圆 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 面向切面编程,AOP(Aspect Oriented Programming),要解决的问题是将横切关注点与业务逻辑分离 横切关注点:在软件开发中,散布于应用多处的功能。 通知:定义了切面是什么,何时使用切面。分为:前置通知,后置通知,返回通知,异常通知,环绕通知 连接点:在应用程序执行过程中能够插 阅读全文
posted @ 2018-08-23 09:27 菠菜汤圆 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 问题描述:操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 阅读全文
posted @ 2018-08-16 15:01 菠菜汤圆 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 问题描述:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 思路:先在树A中找到和树B的根节点的值一样的结点R;然后判断树A中以R为根节点的子树是不是包含和树B一样的结构。 代码: 阅读全文
posted @ 2018-08-16 11:08 菠菜汤圆 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 重载: 重写: 阅读全文
posted @ 2018-08-16 10:23 菠菜汤圆 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1、分组是在SELECT语句的GROUP BY字句中建立的。 例子:输入:SELECT vend_id, COUNT(*) AS num_prods FROM products GROUP BY vend_id; 因为使用了GROUP BY就不用指定要计算和估值的每个组了。系统会自动完成。GROUP 阅读全文
posted @ 2018-08-16 10:07 菠菜汤圆 阅读(1230) 评论(0) 推荐(0) 编辑
摘要: 问题描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:首先比较两个链表的头结点,如果链表1的头结点小于链表2的头结点,链表1的头结点将是合并后链表的头结点。然后继续合并两个链表中的剩余结点,两个链表中剩余的结点依然是有序的,因此合并步骤与第一步 阅读全文
posted @ 2018-08-15 21:28 菠菜汤圆 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 问题描述:输入一个链表,反转链表后,输出新链表的表头。 思路:反转一个链表只需要调整链表中的指针方向。 代码: 阅读全文
posted @ 2018-08-15 16:27 菠菜汤圆 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 问题描述:输入一个链表,输出该链表中倒数第k个结点。 思路:1、得到链表的长度,这样才能从链表头部定位到倒数第k个结点,即正数len-k+1个结点。 2、正向遍历链表,直到len-k+1个结点,返回。 代码: 阅读全文
posted @ 2018-08-15 09:59 菠菜汤圆 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 1、职责单一原则:一个类只做它该做的事。 2、开闭原则:软件实体应当对扩展开放,对修改关闭。 3、依赖倒转原则:面向接口。声明方法的参数类型、方法的返回类型、变量的引用类型时,尽可能使用抽象类型而不使用具体类型,因为抽象类型可以被其任意子类所替代。 4、里氏替换原则:任何时候都可以用子类型替换掉父类 阅读全文
posted @ 2018-08-15 09:08 菠菜汤圆 阅读(840) 评论(0) 推荐(0) 编辑