摘要:
https://www.nowcoder.com/questionTerminal/a861533d45854474ac791d90e447bafd 描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解析 阅读全文
摘要:
描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 即:左右子树互为镜像。 解析 左右互相比较即可。 代码 阅读全文
摘要:
https://www.nowcoder.com/questionTerminal/d77d11405cc7470d82554cb392585106 描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5 阅读全文
摘要:
https://www.nowcoder.com/questionTerminal/fc533c45b73a41b0b44ccba763f866ef 描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4-> 阅读全文
摘要:
https://www.nowcoder.com/questionTerminal/6e196c44c7004d15b1610b9afca8bd88 描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解析 递归判断。当子树的根节点值等于大树的某个节点, 阅读全文
摘要:
描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解析 节点依次比较,指针移动。类似归并的merge方法,思路一样。 代码 阅读全文
摘要:
描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解析 简单插入排序就行。 优化点:当往后一轮,没有数据交换,说明奇数都在前面了。退出循环即可。 代码 阅读全文
摘要:
描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解析 其实就是将栈的先进后出,变为队列的先进先出。 stack1用来入栈。当push stack1时,将stack1的所有元素放到stack2,直到stack1为空。再将新值push进去,再将stack2的所 阅读全文
摘要:
根据前序和中序遍历重建二叉树 描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解析 先来分析一下前序遍历 阅读全文
摘要:
描述 输入一个链表,输出该链表中倒数第k个结点。 解析 用两个指针就行,前面的指针先于后面的指针k个节点。 或者,用栈啊,先进后出。 代码 阅读全文