面试手撕代码(2)-链表的反转

17人阅读 评论(0) 收藏 举报
分类:
listnode reverse(listnode head)
{
if (head == NULL)
return head;
listnode p, q, pre;
p = head->next;
q = NULL;
head->next == NULL;
while (p)
{
pre = p->next;
p->next = q;
q = p;
p = pre;
}
head->next = q;
return head;
}
查看评论

面试过程中手撕代码之二叉树

二叉树的个人总结由于本人目前在找算法工程师方向的工作,在面试过程中,经常会被问到非递归方法遍历的二叉树,二叉搜索树,二叉树的高度等一系列方法,本人写了c++代码供自己复习使用,希望也能够帮到各位小伙伴...
  • renhui1993
  • renhui1993
  • 2017-08-31 11:20:55
  • 505

Java/C++面试手撕算法汇总

面试手撕算法汇总 1.数组中找出所有重复数字?空间复杂度为O(1),时间复杂度最小? 实在没有O(1)的方法,只能实现O(n),欢迎讨论。 方案1:创建n个数字的数组,循环相加,将大于1的数字打印...
  • hotpots
  • hotpots
  • 2017-09-15 22:40:11
  • 737

多线程卖票,死锁问题和生产者消费者问题!

1.生产者消费者问题模拟:public class Test2 { public static void main(String[] args) { Num num = new Num(0);...
  • u012572955
  • u012572955
  • 2015-10-29 13:05:36
  • 1742

手撕代码(一)快速排序

去美团面试,面试我的汪哥,感觉很有眼缘,人不错,只是自己功力不到,问了我在一般情况下的排序算法的效率问题,一般情况下排序算法的效率从高到低是这样的:快速排序>归并排序>堆排序>插入排序>冒泡排序,我在...
  • pfl_student
  • pfl_student
  • 2017-09-02 22:51:43
  • 414

面试手撕代码(3)-atoi函数

int atoi(char *str){ assert(str != NULL);//处理空指针 assert(strlen(str) != 0);//处理空字符串 int sign = 1; int...
  • m0_37947204
  • m0_37947204
  • 2018-04-16 14:40:39
  • 16

面试手撕代码(1)-大端小端的判断

字节序是指大端小端用来描述多字节数据在内存中存放的顺序;大端字节序是指最高有效位存放最低内存地址;小端字节序是指最高有效位存放最高内存地址;主机字节序是指不同CPU有不同的字节序类型这些字节序是指整数...
  • m0_37947204
  • m0_37947204
  • 2018-04-16 14:20:15
  • 23

面试手撕代码(7)-链表环的入口节点

(1)首先我们利用快慢指针,来判断链表是否有环,如果链表有环,则快慢指针会相遇(2)当快慢指针相遇时,我们设:环外部长度为x,环的长度为n,慢指针在环中所走的路径长度为k,因为快指针走的速度是满指针的...
  • m0_37947204
  • m0_37947204
  • 2018-04-21 21:44:34
  • 21

面试手撕代码(10)-两个链表的第一个公共节点

 ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) {       if(pHead1==NULL||pHead2=...
  • m0_37947204
  • m0_37947204
  • 2018-04-22 11:46:04
  • 14

面试手撕代码(8)-删除链表中重复的节点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4-&...
  • m0_37947204
  • m0_37947204
  • 2018-04-21 22:58:34
  • 14
    个人资料
    等级:
    访问量: 330
    积分: 320
    排名: 34万+
    文章存档