【R&A】extracts&swap-nodes-in-pairs

传送门

下一篇

摘录

设想研究者交给你一张纸,上面写着“chocolate”并要求你大声读出这个词。从神经活动来看,该过程涉及动作的精密与复杂程度令人吃惊。首先视觉刺激由眼睛视网膜内的神经细胞检测出来,产生神经冲动并通过丘脑传到大脑的视觉联络区皮层,视皮层再将神经冲动传向颞叶后的角回,对词的字母顺序与形状编码,再将之与词的听觉码比较。一旦找到适当的听觉码就将其传递到维尔尼克听觉区,在这里进一步编码和解释,然后神经冲动传到布洛卡区,由它将信息转到运动皮层。运动皮层负责支配唇、舌、喉夹肌,使它们协同运动读出这个词来。真正令人开心的是大脑可以毫不费力地进行有效反应,将书本中成千上万的记号翻译成神经密码,将信息通报给其他脑区,最后理解并朗读出来。

两两交换链表中的节点

  • 方法:双指针法
  • 过程:
交换链表节点
  • 思路:过程模拟,示例调试
  • 代码(下列代码的操作步骤是按上图的三、二、一顺序)
ListNode* swapPairs(ListNode* head) {
    // 节点小于两个,直接返回
    if (head == nullptr || head->next == nullptr) {
        return head;
    }
    // 虚拟头节点,前指针为第n个,则后指针为第n+2个
    ListNode *before = new ListNode(0, head);
    ListNode *after = before->next->next;
    ListNode *newhead = before->next->next;
    while(after != nullptr) {
        // 将交换操作理解为:after节点的前一个节点的next指向after节点的next,after节点的next指向前一节点;before指向交换后的after节点
        before->next->next = after->next;
        after->next = before->next;
        before->next = after;
        // 前后指针更新,注意后指针要去合法的值,所以要提前判断
        before = after->next;
        after = before->next ? before->next->next : nullptr;
    }
    return newhead;
}
  • 时间复杂度:O(n)
  • 空间复杂度:O(1)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为现在主要是学习英语,所以结合实际,所有的复习推到总结的时候进行 第二节 神经元 神经元即神经细胞,是神经系统结...
    我是杨毅阅读 9,274评论 0 0
  • 人脑是世界上最复杂的一种物质,由100亿个以上的神经细胞和1000亿个以上的神经胶质细胞组成,每个神经细胞又可能与...
    子苏半夏阅读 8,172评论 0 3
  • 上午休息,下午听陈宏心理咨询师的讲课,既然选择了心理学,就要不断学习,看论文,看文献,写作。努力赚钱去学习新的技能...
    落雨眷恋阅读 2,563评论 0 1
  • 今天去m记,拿了杯免费滴雪碧,又开始学习了。 1,心理学的学科分支 书上列了十个,不知道是不是全部呢,但感觉不是重...
    阿直学长阅读 7,761评论 0 1
  • 【当日新文】 1:李克富‖当太阳从西南升起 2:李克富‖“知觉”与“错觉”的胡思乱想 【当日作业】 1.复习感觉与...
    张凯丽1985阅读 3,301评论 0 0