
数据结构编码Learning
songyitian4
这个作者很懒,什么都没留下…
展开
-
JAVA实现快速排序
思路浅解:首先对整个数组调用partition方法获取基值的中间位置,然后对两边分别调用快排。partition中,首先定义一个基值,定义一个变量i指向该基值应该在的位置。通过遍历确定i的位置。最终i的位置应该+1,原因是遍历中的i只是获得了比基值元素大的个数,而i应该为i+1。原创 2023-04-08 20:18:05 · 194 阅读 · 0 评论 -
JAVA实现链表反转
问题描述:给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。创建一个新的头节点(有值)通过遍历原链表,获取其值创建新的节点,以头插法的方式加入到链表中。原创 2023-04-08 19:56:12 · 509 阅读 · 0 评论 -
数据结构算法题:day1反转链表(Level:简单
将一个链表进行反转,创建一个新的链表(带头结点),顺序遍历数据链表,采用头插法实现链表的反转。,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。要求:空间复杂度 O(1),时间复杂度 O(n)。给定一个单链表的头结点pHead(如当输入链表{1,2,3}时,数据范围: 0≤n≤1000。原创 2022-12-19 15:22:18 · 88 阅读 · 0 评论