
cracking the coding interview
文章平均质量分 66
xc889078
这个作者很懒,什么都没留下…
展开
-
矩阵翻转90度
矩阵逆时针翻转90度:假设矩阵中一数字坐标为(i,j),逆时针翻转后的坐标为(n-1-j,i),要实现这一过程,首先(i,j)->(j,i),即沿着左对角线将对角线两侧的数字交换,之后(j,i)->(n-1-j,i),即将矩阵沿着横中轴将上下行中的元素进行交换,如果是4*4矩阵,也就是交换1,4行和交换2,3行;矩阵顺时针翻转90度:假设矩阵中一数字坐标为(i,j),顺时针翻转后的坐标原创 2013-07-08 16:46:56 · 3703 阅读 · 0 评论 -
如果矩阵中某个元素为0,那么把它所在的行和列都置为0
遍历一次矩阵,当遇到元素等于0时,记录下这个元素对应的行和列。可以开一个行数组row和列数组col,当元素a[i][j]等于0时,就把row[i]和col[j]置为true。第二次遍历矩阵时,当某个元素对应的行row[i] 或列col[j]被设置为true,说明该元素在需要被置0的行或列上,因此将它置0。#include #include using namespace std;#de原创 2013-07-09 15:51:07 · 2612 阅读 · 0 评论 -
单链表中的数相加
你有两个由单链表表示的数。每个结点代表其中的一位数字。数字的存储是逆序的,也就是说个位位于链表的表头。写一函数使这两个数相加并返回结果,结果也由链表表示。#include using namespace std;typedef struct Node{ int value; struct Node *next;}Node,*pNode;pNode create_list(in原创 2013-07-10 15:36:25 · 845 阅读 · 0 评论