剑指offer
su0xiaoniao
学习,努力
展开
-
剑指offer练习
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一行都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如:在下面这个二维数组中查找数字7,则返回true;如果查找数字5,返回false; 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11原创 2016-04-09 15:40:25 · 284 阅读 · 0 评论 -
常量字符串
1.C/C++中每个字符串都以字符’\0’作为结尾,这样可以很方便地找到字符串的最后尾部。 2.从下面的代码学习:int main() { char str1[] = "hello world"; char str2[] = "hello world"; char* str3 = "hello world"; char* str4 = "hello world";原创 2016-04-10 10:43:27 · 764 阅读 · 0 评论 -
剑指offer之替换字符串中的空格
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。 例子:”we are” ====>”we%20are”。 思路:一看到这题直接能想到的方法就是===>从头开始遍历字符串 每遇到空格,换成%20,直到遍历完字符串。但是如果之前的字符串空间有限,则这样做会产生内存覆盖。 法二:前提===>源字符串空间充足。可以一次遍历出字符串有多少个空格,然后计算出新字符串的长度,然后进行替换。原创 2016-04-10 11:47:08 · 332 阅读 · 0 评论 -
从尾到头打印链表
题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 思路:看到此题,直观的想法就是把链表里面正序的数据放入栈中,然后打印出来。 代码如下: 法一:显示用栈:typedef int DataType;typedef struct Node { DataType Data; struct Node *Next; }ListNode;void PrintListRever原创 2016-04-11 14:33:45 · 269 阅读 · 0 评论 -
重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如: 输入前序遍历序列为{1,2,4,7,3,5,6,8}和中序遍历序列为{4,7,2,1,5,3,8,6}, 重建一颗二叉树。 代码如下:#include<iostream> #include<malloc.h> #include <stdlib.h> #include原创 2016-04-22 10:19:14 · 277 阅读 · 0 评论