- 博客(22)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java知识点
字符数组->字符串方法1:直接在构造String时转换。char[] data = {‘a’, ‘b’, ‘c’}; String str = new String(data); 方法2:调用String类的方法转换。String.valueOf(char[] ch) ;字符串->字符数组情况一:如果是有分隔符的那种例如”abc,def,ghi”;就直接分割就行了.String string = “abc,def,ghi”; String [] strArr= string
2021-09-23 10:32:35
74
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 涉及数据结构与算法的基础知识的PPT截图来源:青岛大学-王卓-数据结构。
涉及数据结构与算法的基础知识的PPT截图来源:青岛大学-王卓-数据结构。
2021-03-01 20:27:08
1721
原创 Leetcode_二叉树_理解
做有关于树的题目时,要注意模块化功能函数,注意联系之前学过的小知识点如下面两题,判断一颗树是否为平衡二叉树建立在求二叉树的高度的基础上。//求树的高度public int depth(TreeNode root){if(null == root){return 0;}return Math.max(depth(root.left), depth(root.right)) + 1;}//判断一二叉树是否为平衡二叉树public boolean isBalanced(TreeNode roo
2021-10-08 09:33:05
70
原创 刷力扣的一些随笔
逆序处理首先应该想到栈!!!1、此题的难点就是如何找到目标倒数节点的前驱结点在遍历链表的同时将所有节点依次入栈。根据**栈「先进后出」**的原则,我们弹出栈的第 nn 个节点就是需要删除的节点,并且目前栈顶的节点就是待删除节点的前驱节点。这样一来,删除操作就变得十分方便了。2、本题的主要难点在于链表中数位的顺序与我们做加法的顺序是相反的,为了逆序处理所有数位,我们可以使用栈:把所有数字压入栈中,再依次取出相加。计算过程中需要注意进位的情况。...
2021-09-28 19:34:06
73
原创 Leetcode 题解 - 链表
1. 找出两个链表的交点Intersection of Two Linked Lists (Easy)public ListNode getIntersectionNode(ListNode headA, ListNode headB) { ListNode l1 = headA, l2 = headB; while (l1 != l2) { l1 = (l1 == null) ? headB : l1.next; l2 = (l2 == null)
2021-04-07 16:34:08
125
原创 线性结构之顺序栈、链栈、循环顺序队、链队(C语言实现)
1、顺序栈/* 顺序栈,就是用一组地址连续的存储单元来存放栈元素,然后用一个栈结构去维护一个栈。在C中,可用动态开辟的数组去表示,维护的栈结构需要有一个栈底和一个栈顶指针。因为开辟一个数组需要事先知道它的大小,所以栈结构里就必须还有一个整型变量来表示当前栈的存储容量(stacksize)。实现如下:*/#include <stdio.h>#include <windows.h>/* 用顺序表实现一个顺序栈*///定义一个顺序栈#define MAXSIZ
2021-03-10 21:55:39
281
原创 线性表的应用(有序表的合并、多项式运算、稀疏多项式运算、图书信息管理)
1、有序表的合并(链表实现)# include<stdio.h># include<malloc.h> # include<stdlib.h># define min(a,b)(a<b?a:b)typedef struct Node{ int data; struct Node * pNext;}NODE, * PNODE;PNODE createList();PNODE createList1(int len);void listMerg
2021-03-03 20:21:12
150
1
原创 双向链表的基本操作(删除、插入)
//首先使得指针p指到所要删除元素的位置PNODE findPos(PNODE pHead, int pos){ int i = 1; //计数器 PNODE p = pHead->pNext; while (NULL !=p && i < pos) //pos:所需处理节点的位置 { p = p->pNext; ++i; } if (i > pos || NULL == p) return p; } return p;}//进行.
2021-03-01 16:59:15
381
原创 两个带有尾指针的单循环链表的合并
PNODE mergeList(PNODE Ta PNODE Tb){ PNODE p = Ta->pNext; Ta->pNext = Tb->pNext->pNext; free(Tb->pNext); Tb->pNext = p;}
2021-03-01 16:16:30
1052
原创 单链表的基本操作(2021-02-27)
链表的基本操作(节点的插入、删除等)核心:找到所需处理节点的上一个节点的位置。代码实现int i = 1; //计数器PNODE p = pHead->pNext;while (NULL !=p && i < pos-1) //pos:所需处理节点的位置,pos-1:前一个节点的位置{ p = p->pNext; ++i;}if (i > pos-1 || NULL == p) return false;时间一长,再写代码便会出现很多小错
2021-02-27 11:02:57
104
1
原创 包装类转化
包装类转化题目说明:利用Vector代替数组处理:从键盘读入学生成绩(以负数代表输入结束),找出 最高分,并输出学生成绩等级。提示:1、数组一旦创建,长度就固定不变,所以在创建数组前就需要知道它的 长度。而向量类java.util.Vector可以根据需要动态伸缩。2、创建Vector对象:Vector v=new Vector();给向量添加元素:v.addElement(Object obj); //obj必须是对象3、取出向量中的元素:Object obj=v.elementAt(
2020-06-08 20:11:03
177
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人