
程序员面试金典-牛客网
小沫_jie
这个作者很懒,什么都没留下…
展开
-
【start】程序员面试金典-牛客网
在线练习网址:https://www.nowcoder.com/ta/cracking-the-coding-interview?page=1 介绍 本套编程题为CC150(《Cracking the Coding Interview程序员面试金典》)一书配套在线练习,共84题,未包含原书150题中8.1-8.10、10.1-10.7、12.1-12.6、13.1-13.10、14.1-14....原创 2018-03-08 10:24:11 · 382 阅读 · 0 评论 -
【2.2链表 】链表中倒数第k个结点
题目描述输入一个链表,输出该链表中倒数第k个结点。思路一使用一个长度为k的尺子,pre先走k-1步,然后nex再开始走,当pre到达最后一个节点时,则nex所指向的就是倒是第k个结点# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# ...原创 2018-03-08 10:27:58 · 144 阅读 · 0 评论 -
【2.3链表 】访问单个节点的删除
题目描述实现一个算法,删除单向链表中间的某个结点,假定你只能访问该结点。 给定带删除的节点,请执行删除操作,若该节点为尾节点,返回false,否则返回true解题思路假设只能访问该节点,不能访问前面的节点,可以直接把该节点后面的节点的值复制过来,然后删除后面的一个节点即可# -*- coding:utf-8 -*-# class ListNode:# def __...原创 2018-03-08 10:52:02 · 188 阅读 · 0 评论 -
【2.4链表】 链表分割
题目描述编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。思路一将大于x的节点形成一条链表larger,小于x的节点形成一条链表smaller,然后将两条链表连接 smaller + larger# -*- codin...原创 2018-03-08 12:47:19 · 227 阅读 · 0 评论 -
【2.5链表】 链式A+B
题目描述有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。 给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。 测试样例: {1,2,3},{3,2,1} 返回:{4,4,4}思路# -*- coding:utf-8 -*-# c...原创 2018-03-08 15:19:15 · 166 阅读 · 0 评论 -
【2.7链表】 回文链表
题目描述请编写一个函数,检查链表是否为回文。 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。 测试样例: {1,2,3,2,1} 返回:true {1,2,3,2,3} 返回:false思路一存入到list中,再判断逆序后的list是否等于原lit# -*- coding:utf-8 -*-# class ListNode:...原创 2018-03-08 16:08:10 · 164 阅读 · 0 评论 -
【4.1树】 二叉树平衡检查
题目描述实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。思路# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.va...原创 2018-03-08 17:15:10 · 200 阅读 · 0 评论 -
【4.2图】 有向路径检查
题目描述对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径。 给定图中的两个结点的指针UndirectedGraphNode* a,UndirectedGraphNode* b(请不要在意数据类型,图是有向图),请返回一个bool,代表两点之间是否存在一条路径(a到b或b到a)。思路有向图的遍历问题,可以使用深度优先搜索或者广度优先搜索# -*- coding:...原创 2018-03-08 21:10:36 · 213 阅读 · 0 评论