链表

1、删除链表中的节点

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。
现有一个链表–head=[4, 5, 1, 9],它可以表示为:
4 -> 5 -> 1 -> 9

示例:
输入:head = [4, 5, 1, 9], node = 5
输出:[4, 1, 9]

说明

  • 链表至少包含两个节点
  • 链表中所有节点的值都是唯一的
  • 给定的节点为非末尾节点并且一定是链表中的一个有效节点
  • 不要从你的函数中返回任何结果
class Solution:
    def deleteNode(self, node):
    	node.val = node.next.val
    	node.next = node.next.next
2、删除链表的倒数第N个节点

给定一个链表,删除链表的倒数第n个节点,并且返回链表的头节点。

示例:
给定一个链表:1 -> 2 -> 3 -> 4 -> 5 和 n = 2,
当删除了倒数第二个节点后,链表变为 1 -> 2 -> 3 -> 5。

构建双指针p1与p2,p1先走n步,然后一同运动,当p1指向表尾,p2指向的next即是倒数第N个节点,删除即可。

class Solution:
    def removeNthFromEnd(self, head, n):
    	dummy = ListNode(0)
    	dummy.next = head
    	p1 = p2 = dummy
    	for i in range(n):
    	    p1 = p1.next
    	while p1.next:
    	    p1 = p1.next
    	    p2 = p2.next
    	p2.next = p2.next.next
    	return dummy.next
class Solution:
    def removeNthFromEnd(self, head, n):
    	if not head or n<1:
    	    return None
    	fast = head
    	slow = head
    	for i in range(n):
    	    if not fast:
    	    	return None
    	    fast = fast.next
    	if not fast:
    	    return head.next
    	while fast.next:
    	    fast = fast.next
    	    slow = slow.next
    	slow.next = slow.next.next
    	return head
3、删除列表中等于给定值val的所有节点

Given 1->2->3->4->5->3, val = 3, return the list as 1->2->4->5。

class Solution:
    def removeElements(self, head, val):
	if head == None:
	    return head
	dummy = ListNode(0)
	dummy.next = head
	pre = dummy
	while head:
	    if head.val == val:
	    	pre.next = head.next
	    	head = pre
	    pre = head
	    head = head.next
	return dummy.next
内容概要:该题库专为研究生入学考试计算机组成原理科目设计,涵盖名校考研真题、经典教材课后习题、章节题库和模拟试题四大核心模块。名校考研真题精选多所知名高校的计算机组成原理科目及计算机联考真题,并提供详尽解析,帮助考生把握考研命题趋势与难度。经典教材课后习题包括白中英《计算机组成原理》(第5版)和唐朔飞《计算机组成原理》(第2版)的全部课后习题解答,这两部教材被众多名校列为考研指定参考书目。章节题库精选代表性考题,注重基础知识与重难点内容,帮助考生全面掌握考试大纲要求的知识点。模拟试题依据历年考研真题命题规律和热门考点,精心编制两套全真模拟试题,并附标准答案,帮助考生检验学习成果,评估应试能力。 适用人群:计划参加研究生入学考试并报考计算机组成原理科目的考生,尤其是需要系统复习和强化训练的学生。 使用场景及目标:①通过研读名校考研真题,考生可以准确把握考研命题趋势与难度,有效评估复习成效;②通过经典教材课后习题的练习,考生可以巩固基础知识,掌握解题技巧;③通过章节题库的系统练习,考生可以全面掌握考试大纲要求的各个知识点,为备考打下坚实基础;④通过模拟试题的测试,考生可以检验学习成果,评估应试能力,为正式考试做好充分准备。 其他说明:该题库不仅提供详细的题目解析,还涵盖了计算机组成原理的各个方面,包括计算机系统概述、数据表示与运算、存储器分层、指令系统、中央处理器、总线系统和输入输出系统等。考生在使用过程中应结合理论学习与实践操作,注重理解与应用,以提高应试能力和专业知识水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值