作者:LeetCode 链接:112. 路径总和 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 一、题目描述 给定一个二叉树和一个目标和,判断该...
数据结构之树:二叉树的实现
相对于栈和链表等数据结构来说,树有着更复杂的结构。正如我们平常生活中看到的树一样,它有很多分支,而且分支上面还会有分支。 树的用途十分广泛,最常见的树是二叉树,衍生了很多类型的树,红黑树,搜索树等等,...
数据结构之列表:双向链表的实现
双向链表是链表的一个分支,相比单向链表来说多了个一个前向指针pre,指向当前节点的前一个节点,查找起来更为灵活。 二、链表节点实现 双向链表的节点可以继承单向链表的节点,添加一个pre成员即可。两者声...
数据结构之队列:队列的实现
队列是一种先进先出的数据结构,因和平常生活中的排队流程一样因此被称为队列。操作逻辑和栈刚好相反。 常用操作: enqueue: 元素入队 dequeue: 首元素出队 size: 返回队列中元素的个数...
数据结构之栈(三):顺序栈实现
顺序栈的实现和使用数组实现原理一样,都是预先申请一段连续的地址块作为数据域,通过栈顶下标或指针移动完成压栈、出栈等操作。不同的是,使用指针的顺序栈支持栈满时扩容操作,原理更倾向于vector的实现。 ...
数据结构之栈(二):链式栈实现
链栈的原理和链表的原理一样,通过一个next指针把一个个的节点链起来: 初始时,栈底指针和栈顶指针都为空,每插入一个节点,栈顶指针改变,当前插入节点的next指针指向之前的栈顶元素。 同样,在使用to...
数据结构之栈:使用数组和vector实现栈
栈是一种“先进后出”的数据结构,最先进入栈的元素位于栈的底端,最后进入的位于顶端。 其主要的接口函数为: pop(): 弹出顶端元素 size(): 返回栈容量 empty(): 判断栈是否为空 pu...
2