- 博客(5)
- 收藏
- 关注
原创 键指offer || 序列化和反序列化二叉树(非递归实现)
本人小菜鸡一枚,不喜勿喷。欢迎大佬之争。题目:序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。这里分析一下题目的意思就是说,提供一个方法将一颗二叉树转换成字符串来进行存储。并能通过另一个方式就这串字符串还
2022-05-19 16:03:56
140
原创 从上到下打印二叉树 --- 容器不能用NULL判断
首先附上题目从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7分析:这里是二叉树的层次遍历,所以我们优先考虑队列来进行输出附上代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;
2021-09-21 12:52:26
144
原创 顺序查找之哨兵的作用
传统的查找方式array — 数组名称len — 数组长度k — 要查找的数据int Search(int array[] , int k ,int len){ for (int i = 0 ; i < len ; i++) { if (array[i] == k) return i; } return 0;}int Search(int array[] , int k ,int len){ // 建立了哨兵的数组,即array[0] = k for(int
2021-09-15 19:44:18
2186
2
原创 为什么传入函数中的数组不能sizeof得出正确的大小
因为数组作为形参传入函数之后,会退化成一个指针。所以在函数中对指针进行sizeof,即对一个地址sizeof。在32位系统,因为8位 = 1字节,所以sizeof(地址) = 4。而在64位系统中则等于 8
2021-09-14 17:40:10
636
原创 关于链表添加的双指针问题
在学习链表的时候,往链表里添加新节点的时候,会运用到双指针。这是因为考虑到空链表的情况下,所做的一个特殊处理。这里的空链表画上重点,待会会考首先附上添加新节点的函数代码:void Attach(ListNode ** pHead, int value){ ListNode * new_Node = new ListNode(); new_Node->val = value; new_Node->next = NULL; if (*pHead == NULL) { *pHe
2021-09-13 23:34:43
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人