2016年4月3日

摘要: 题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。 测试样例: 1->2->2->1 返回:trueSolution 1: /* struct 阅读全文

posted @ 2016-04-03 18:42 徐岩 阅读(161) 评论(0) 推荐(0)

摘要: 题目描述 二叉树被记录成文件的过程叫做二叉树的序列化。序列化的方法有很多,这里我们采用括号序列的方法将其序列化,所谓括号序列指的是对于一个节点生成一个括号,括号内是其子树的括号序列,其中左儿子(若存在)的括号在前,右儿子(若存在)的括号在后。对于给定的树,请设计高效的算法,将其序列化。 给定一个树的 阅读全文

posted @ 2016-04-03 16:33 徐岩 阅读(174) 评论(0) 推荐(0)

摘要: 题目描述 对于一个矩阵,请设计一个算法,将元素按“之”字形打印。具体见样例。 给定一个整数矩阵mat,以及他的维数nxm,请返回一个数组,其中元素依次为打印的数字。 测试样例: [[1,2,3],[4,5,6],[7,8,9],[10,11,12]],4,3 返回:[1,2,3,6,5,4,7,8, 阅读全文

posted @ 2016-04-03 14:25 徐岩 阅读(375) 评论(0) 推荐(0)

摘要: 题目描述 对于一个字符串,和字符串中的某一位置,请设计一个算法,将包括i位置在内的左侧部分移动到右边,将右侧部分移动到左边。 给定字符串A和它的长度n以及特定位置p,请返回旋转后的结果。 测试样例: "ABCDEFGH", 8, 4 返回:"FGHABCDE"Solution 1: class St 阅读全文

posted @ 2016-04-03 14:17 徐岩 阅读(128) 评论(0) 推荐(0)

摘要: 题目描述 有一个NxN整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵,保证N小于等于300。 测试样例: [[1,2,3],[4,5,6],[7,8,9]],3 返回:[[7,4,1],[8,5,2],[9,6,3]]Solutio 阅读全文

posted @ 2016-04-03 14:09 徐岩 阅读(234) 评论(0) 推荐(0)