云计算
链表 标签描述

Example008 题目 构造串的链表结点数据结构(每个结点内存储一个字符),编写一个函数,找出串str1中第一个不在串str2中出现的字符。 分析 所谓串的链表结点数据结构,就是单链表,只不过存储的数据类型变成了char类型。 而本题的算法思想是:从头到尾扫描串str1,对于str1中的每一个结点判断是否在str2中出现,若出现,则继续扫描str1中的下一个字符;若没有出现,则返回当前检测的字符。如果str1中的所有字符都在str2中出现,则返回'\0'。 即双层for循环,算法思想是很简单,无非就是双层遍历。 图解 C实现 核心代码: /找出串str1中第一个不在串str2中出现的...

  7jPfnBIFtnum   18天前   30   0   0 链表数据结构算法

给你一个链表的头节点head,旋转链表,将链表每个节点向右移动k个位置。输入:head=1→2→3→4→5,k=2,输出:4→5→1→2→3。 1.找尾节点并且计算链表节点个数。2.如果k大于等链表节点个数,需要取模,k一定在[0,节点个数)范围之内。如果k=0,直接返回头节点。3.求倒数k+1的节点。4.缓存倒数第k节点ans。5.尾节点连头节点。6.倒数k+1节点的Next指针为空。7.返回ans。 代码用golang编写,代码如下: packagemain import"fmt" funcmain(){ head:=&ListNode{Val:1} head.Next=&...

  7jPfnBIFtnum   2024年05月17日   48   0   0 链表算法缓存

题目 已知L为不带表头结点的单链表的表头指针(L非空),链表中存储的都是整型数据,写出实现下列运算的递归算法。 (1)求链表中的最大整数 (2)求链表中的结点个数 (3)求所有整数的平均值 分析 使用递归的方法。 代码 核心代码: /求链表中的最大整数/ intgetMax(LNodeL){ if(L->nextNULL){//链表中仅一个结点 returnL->data;//其值即为所求 } inttemp=getMax(L->next);//递归求后继结点的最大值 if(L->data>temp){//再与首元结点相比较,取大值 retur...

  7jPfnBIFtnum   18天前   22   0   0 链表数据结构