摘要:
首先因为printf函数输出字符串是针对char *的,即printf只能输出c语言的内置数据,而string不是c语言的内置数据。 其次string类型的对象不止包含字符串,还包含了许多用于操作的函数,所以&str并非字符串的首地址 因此该怎么打印string字符串呢? 1、利用string的成员 阅读全文
摘要:
其实单链表就像是一个绿皮火车,火车头为单链表的头结点,火车尾为单链表的最后一个节点(节点的指针域指为NULL的节点),而中间的节点,即为车厢,每个车厢(节点)都有其座位(节点的数据域)和连接下一车厢的安全绳(节点的指针域)。 咱们如果想造火车呢,得先设计一下火车每个车厢的结构和火车头。 在造火车前, 阅读全文
摘要:
思路: 首先连接AD,BD,CD,SABC为三角形的面积,SABD为三角形ABD的面积,SACD....,SBCD....... 因此,若D在三角形则SABC = SABD + SACD + SBCD,若不等,则不在 阅读全文
摘要:
char * strcpy( char *strDest, const char *strSrc ) { assert( (strDest != NULL) && (strSrc != NULL) ); char *address = strDest; while( (*strDest++ = * strSrc++) != ‘\0’ ); retur... 阅读全文
摘要:
题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 思路: (1 阅读全文
摘要:
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: 1、一个栈用来做push 2、另一个栈用来做pop 3、将push操作的栈的元素放入另一个栈中,实现先进先出 class Solution { public: void push(int node 阅读全文
摘要:
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路: 1、首先找到根节点 2、确定根节点左右侧的左 阅读全文
摘要:
题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 思路: 利用栈“先进后出”的性质,将链表的值存入到栈里,然后将栈里的值存入到构建好的容器里,最后打印容器。 class Solution { public: vector<int> printListFromTailToHe 阅读全文
摘要:
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路: 1、从前往后插入太复杂 2、从后往前插入较简单 class Solution { public: void replace 阅读全文
摘要:
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 思路: 1、首先计算数组的行和列 2、判断数组是否为空 3、从题设可知输入的数组每行从左到右递增, 阅读全文