输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 自己用了额外空间实现函数: 1 import java.util.*; 2 public class Solution { 3 p ...
分类:
编程语言 时间:
2019-12-30 00:04:18
阅读次数:
83
题目: 请实现两个函数,分别用来序列化和反序列化二叉树 二叉树的序列化是指:把一棵二叉树按照某种遍历方式的结果以某种格式保存为字符串,从而使得内存中建立起来的二叉树可以持久保存。序列化可以基于先序、中序、后序、层序的二叉树遍历方式来进行修改,序列化的结果是一个字符串,序列化时通过 某种符号表示空节点 ...
分类:
编程语言 时间:
2019-12-29 18:17:02
阅读次数:
88
题目: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 分析: 层次打印二叉树,在打印二叉树结点的同时,保存好结点的左右孩子,不断的重复打印,直到需要打印的数组为空即可。 程序: C++ class Solution { public: vector<vector<int> > P ...
分类:
编程语言 时间:
2019-12-29 16:29:54
阅读次数:
92
题目: 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 分析: 从根结点开始递归对比左右子树即可。需要注意的是,当前左右两个结点相同比较下面的结点时,由于是判断二叉树是否是对称的,递归执行时,比较的两个结点是当前左结点的左结点和当前右结 ...
分类:
编程语言 时间:
2019-12-29 15:20:56
阅读次数:
71
题目: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 分析: 二叉树的中序遍历是左根右,所以如果一个结点的右子树不为空,那么这个节点的下一个节点一定是右子树的最左结点,如果右子树不存在左子树的话,就返回右子树的 ...
分类:
编程语言 时间:
2019-12-29 15:08:26
阅读次数:
98
题目描述 请实现一个函数用来匹配包括 '.' 和 '*' 的正则表达式。模式中的字符'.'表示任意一个字符,而 '*' 表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符中的所有字符匹配整个模式。例如,字符串 “aaa” 与模式 “a.a” 和 “ab*ac*a” 匹配,但是与“a ...
分类:
其他好文 时间:
2019-12-29 14:50:40
阅读次数:
62
解题思路 如果该节点不是尾结点,那么可以直接将下一个节点的值赋给该节点,然后该节点指向下下个节点,再删除下一个节点,时间复杂度为O(1)。 否则,就需要先遍历链表,找到节点的前一个节点,然后让前一个节点指向null,时间复杂度为O(N)。综上,如果进行N次操作,那么大约需要操作节点的次数为N-1+N ...
分类:
其他好文 时间:
2019-12-29 14:45:50
阅读次数:
76
不得不再次鄙视一下 csdn(床上低能) ,stackoverflow才是正解。 ref: https://stackoverflow.com/questions/42858611/mounting ntfs drives on a mac with r w 在Mac上,默认情况对NTFS磁盘的挂载 ...
分类:
移动开发 时间:
2019-12-29 11:17:21
阅读次数:
89
题目描述 输入一个整数,输出该数二进制表示中1的个数。 n&(n-1) 该位运算去除n的位级表示中最低的那一位。 n : 10110100 n-1 : 10110011 n&(n-1) : 10110000 一个结论 结论:一个数与该数减一的结果进行与运算n&(n-1),会把该数右边(低位)第一个1 ...
分类:
其他好文 时间:
2019-12-28 16:36:09
阅读次数:
95
题目描述 给定一个double类型的浮点数base和int类型的整数exponent, 求base 的 exponent次方。 解题思路 下面的讨论x代表base,n代表exponent。 因为 (x*x)n/2 可以通过递归求解,并且每次递归n都减小一半,因此整个算法的时间复杂度为 O(logN) ...
分类:
其他好文 时间:
2019-12-28 15:50:57
阅读次数:
71