剑指offer
yuancoder
这个作者很懒,什么都没留下…
展开
-
剑指offer 35(186页)
Q:找到输入字符串中第一个只出现一次的字符。 A:利用数组构成一个简单的哈希表,这种解决方案还可以解决出现两次,出现三次。。#include <iostream> using namespace std;char FirstNotRepeatingChar(const char *pString) { if (pString == NULL) return '\0';原创 2016-09-14 11:11:22 · 356 阅读 · 0 评论 -
剑指offer 3 (38页)
Q:二维数组中每一行递增排序,每一列递增排序。完成一个函数,输入这样的二维数组和一个证书,判断数组中是否含有该整数。 A:从具体数字分析,找出规律即可。 难点:主要对二维数组不熟悉,传参的时候可以降维当作一维数组处理,二维数组与指针参考: http://blog.csdn.net/zhouxuguang236/article/details/12256321#include <iostream原创 2016-09-14 15:19:41 · 520 阅读 · 0 评论 -
剑指offer 链表专题(二)
专题一介绍了链表以及链表的一些简单的操作,这章专题探究剑指offer里的一些面试题目。(1)面试题16 P112 输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 法一:递归ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL||pHead->next==NULL) return pHead; L原创 2017-03-17 23:03:07 · 440 阅读 · 0 评论 -
剑指offer 链表专题(一)
链表应该是最重要的基本数据结构之一。本科数据结构白学了都忘光了(too naive!!),现在借助找实习的契机重新温故一下(学习学习,涨涨姿势)。那么,链表有哪些特性呢? 链表是一种动态的数据结构,创建链表的时候无需知道它的长度。 当插入一个新的结点的时候只需要为新节点分配内存并调整指针即可。 故内存分配不是在创建时一次性完成的,而是每添加一个结点分配一次内存。 (而创建数组时需要指定数组的原创 2017-03-17 20:42:40 · 420 阅读 · 0 评论 -
剑指offer 树专题
树是最常用的数据结构之一。树的根结点和叶子结点是用指针链接,所以会涉及到大量的指针操作。二叉树是最常见的树,最常见的是遍历操作:前序、中序和后序,均可以用递归实现。 一些常见的二叉树: a. 二叉搜索树:要么是一颗空树,要么左子结点小于等于根结点,右子结点大于等于根结点;b. 堆:一般情况下为完全二叉树,分为最小堆和最大堆,很多找最值的问题都可以用堆来解决 最小堆:根结点的值最小 最大堆:根原创 2017-03-21 13:29:13 · 376 阅读 · 0 评论