陌无崖
复制复杂链表 复制复杂链表
复制复杂链表——递归与非递归定义树的结点如下,该结点不仅有一个next指针,而且还有一个指向任意结点的指针。实现一个clone函数。该结点形成的链表形式如下图: 结点 type ComListNode struct { value
顺序打印矩阵 顺序打印矩阵
顺时针打印矩阵1 2 3 45 6 7 89 10 11 1213 14 15 16 思路定义四个边界打印顺序: 1,2,3 右边界至3 4,8 12 底部边界至12 16 15 14 左边界至14 13 9 5 上边界至
栈的压入和弹出 栈的压入和弹出
判断序列2是否是序列1形成栈的一种弹出序列如序列1:1,2,3,4,5 序列2:4,5,3,2,1 对于以上弹出序列可用以下的压入弹出形成,因此是子序列push(1),push(2),push(3),push(4),pop(4),push(
二叉树镜像 二叉树镜像
二叉树的镜像 8 6 10 5 7 9 11 8 10 6 11 9 7 5 思
二维数组的查找 二维数组的查找
数组数组是一块连续的内存并按照顺序存储数据,使用数组必须分配内存,因此数组的空间效率差,经常会出现空闲的区域没有得到充分利用。数组的的内存连续,根据下标在O(1)时间读/写任何元素,时间效率高。 面试题——二维数组的查找在一个二维数组中,每
求旋转数组的最小值 求旋转数组的最小值
题目要求求旋转数组的最小数字 什么是旋转数组旋转数组是将一个有序数组按照某一个位置进行反转到其后,如: 有序数组:{123456} 按照4反转得{456123} 按照5反转得{561234} 按照1反转仍然为{123456}解题思路对于这个
利用位运算计算二进制中1的个数 利用位运算计算二进制中1的个数
题目要求传入一个整数,求其二进制中1的个数 题目分析对于该题很容易有思路,我们将整数进行二进制的转换的过程中记录余数为1的个数即可。需要注意的是传入的负数和循环的终止条件,代码如下,因为循环的终止条件为商为0时停止循环,因此返回结果中应该多
算法练习之寻找不重复最长字符串 算法练习之寻找不重复最长字符串
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2: 输入: “bbbbb”输出:
算法练习之三数之和等于零 算法练习之三数之和等于零
题目 题目来源于leetcode:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。答案中不可以包含重复的三元组例如, 给定数组