剑指Offer
不会游泳的鱼z
人生有梦,各自精彩
展开
-
剑指Offer 调整数组顺序使奇数位于偶数前面
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 思路一:新建一个数组,以空间换时间 1.遍历整个数组,如果是奇数,从头部放入原数组,并记录指针 2.如果是偶数,放入新建的数组中,记录指针 3.将新数组中的元素按顺序放到原数组中后面 public void reOr...原创 2019-08-22 23:58:18 · 84 阅读 · 0 评论 -
剑指Offer 复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路: 遍历链表,复制每个结点,如复制结点A得到A1,将结点A1插到结点A后面; 重新遍历链表,复制老结点的随机指针给新结点,如A1.random = A.random.n...原创 2019-08-28 22:06:45 · 94 阅读 · 0 评论 -
剑指Offer 顺时针打印矩阵
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 代码如下: import java.util.ArrayList; public class Solution { ...原创 2019-08-30 00:44:22 · 136 阅读 · 0 评论