摘要: 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 class Solution { publ 阅读全文
posted @ 2020-03-11 22:57 jenningszheng 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 删除链表中等于给定值 val 的所有节点。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) 阅读全文
posted @ 2020-03-11 21:54 jenningszheng 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 反转一个单链表。 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 迭代: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) 阅读全文
posted @ 2020-03-11 21:24 jenningszheng 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 你能尝试使用一趟扫描实现吗? 给定的 n 保证是有效的。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *nex 阅读全文
posted @ 2020-03-11 19:43 jenningszheng 阅读(188) 评论(0) 推荐(0) 编辑
摘要: Linux下进程通信的八种方法: 管道(pipe), 命名管道(FIFO), 内存映射(mapped memeory), 消息队列(message queue), 共享内存(shared memory), 信号量(semaphore), 信号(signal) 套接字(Socket) (1) 管道(p 阅读全文
posted @ 2020-03-11 18:09 jenningszheng 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 腾讯-后台开发-1面 2020/03/11 14:00-14:50 本来投的是平台型产品经理(技术背景),不知道为什么被后台开发捞走了。 其实我是想做开发的,现在技术不够,投个产品经理试试。 面试官打电话来问我面后台开发有没有兴趣,都打过来了,那肯定面啦。 面试开始: 首先面试官给我抛了两道题:(1 阅读全文
posted @ 2020-03-11 18:06 jenningszheng 阅读(664) 评论(0) 推荐(0) 编辑
摘要: 编写一个程序,找到两个单链表相交的起始节点。 注意: 如果两个链表没有交点,返回 null. 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。 /** * Definition for singly-linked 阅读全文
posted @ 2020-03-11 02:43 jenningszheng 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 struct ListNode { int 阅读全文
posted @ 2020-03-11 01:22 jenningszheng 阅读(250) 评论(0) 推荐(0) 编辑