2020-05-19学习随笔

序言

学习随笔是本人对自己一天的自学回顾,由于本人是非科班出身,不懂很多cs的专业术语,所以难免会有些错误,望各位批评指正,本人定当悉心接受并立即改正。希望自己能够慢慢坚持下去,坚持转行的道路,坚持每天学习的输出。

刷题篇

LeetCode

删除排序链表中的重复元素

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。

示例1:
输入:1 -> 1 -> 2
输出:1 -> 2

示例2:
输入:1 -> 1 -> 2 -> 3 -> 3
输出:1 -> 2 -> 3

2.大致思路

利用双指针,一个指向第一元素结点,一个指向第二元素结点,通过判断元素是否相等来移动指针位置。
若两元素相等,则第二个指针往后移动直到找到不等的元素结点,再第一个指针指向该节点,即删除了相同元素的结点。

3.出现的错误

出错均为考虑不周。

-未考虑链表为空的情况

-未考虑链表只有一个元素的情况

-未考虑最后链表连接NULL

4.第一次成功的代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* deleteDuplicates(struct ListNode* head){
    struct ListNode *p,*q,*t;
    if(head&&head->next!=NULL){     //这个条件错了很多次
        p=head;
        t=p;
        q=p->next;
        while(q){
            if(p->val!=q->val){
                p->next=q;
                p=p->next;
            }
            q=q->next;
        }
        p->next=q;                  //最后指向NULL
        return t;
    }
    else return head;
}

5.更简练的代码

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* deleteDuplicates(struct ListNode* head){
    struct ListNode* p=head;

    while(p!=NULL&&p->next!=NULL)
    {
        if(p->val==p->next->val)
        {
            p->next=p->next->next;
        }
        else
        {
            p=p->next;
        }
    }
    return head;
}

自学Java篇

一点小语法(与C不同的地方)

1.打印
System.out.print();      //不换行打印
System.out.println();   //换行打印

2.数组
type [] arrayName = {element1, element2, element3...};  //静态初始化数组
type [] arrayName;    //定义数组
arrayName = new type [] {element1, element2, element3...}; //静态初始化数组

注意静态初始化数组不能指定数组长度,只能分配元素初始值

arrayName = new type [length];         //动态初始化数组
eg:int [] prices = new int [5];         //定义与初始化同时完成

注意:不能同时使用静态初始化和动态初始化

所有数组提供了length属性,通过length可访问到数组的长度, 即 arrayName.length

3.break
break outer;    其中outer 为一个标签,用于标识一个外层循环

outer:
for(){
     for(){
             break outer;   //这样可以直接结束外层循环
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容