Feature:刷题
@kidultff

剑指Offer算法题-二叉树中和为某一值的路径

题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。题解dfs算法。注意路径要求是叶子节点,必须在dfs内判断是否为叶子节点,不能 ...
  • 0
  • 0
@kidultff

剑指Offer算法题-二叉搜索树的后序遍历序列

题目描述输入一个非空整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。题解这道题用递归的思想比较容易理解,要知道,BST的左子树的所有节点一定比根节点小,右子 ...
  • 0
  • 0
@kidultff

剑指Offer算法题-栈的压入、弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该 ...
  • 0
  • 0
@kidultff

剑指Offer算法题-合并两个排序的链表

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。题解思想和two pointer思想比较像/* struct ListNode { int val; struct ListNode *next; List ...
  • 0
  • 0
@kidultff

剑指Offer算法题-反转链表

题目描述输入一个链表,反转链表后,输出新链表的表头。题解一个很简单的办法是将所有指针节点存入一个vector中,然后再重新链接,这样的时间复杂度是2n,空间复杂度是n。一个更好的办法是遍历链表,直接反转。代码如下/* struct ListNode&n ...
  • 0
  • 0