摘要:
逆转单向链表是一个很基础很常见的问题,可惜在我最近面试的几个面试者中还是发现有的人写不好这个程序或者写的有问题.请看下面的实现,这也是大多数人聪明的人会想到的实现方法 typedef struct Node{ int data; struct Node *next;}node; elementT *reverse(Node *p,Node *head){ if((!p)|... 阅读全文
摘要:
问题如下: 给定字符串,比如char *s = "abc",请用里面的字符做全排列,即求'a','b,'c'的全排列,其结果应该是"abc","acb","bac","bca","cab","cba"一共六种. 这个问题比较容易想到的解决方案是使用递归,要求以'a'开头的"abc"的全排列,可以先求"bc"的全排列,然后再加上'a'即可,"bc& 阅读全文
摘要:
Extension method,可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法(功能)。有人可能会提出疑问,如果是对类进行扩充,那使用继承不就ok了?是的,使用继承确实可以达到扩充功能的目的,但也会带来更多的问题,比如该使用子类的地方,传入的却是父类对象;比如想扩充的类为第三方提供,我们无法得知其内部细节等等。抛开这些统统不谈,为了让一个类型的实例增加一个方法,我们就要使用继承创造... 阅读全文