【LeetCode】剑指 Offer(7)

简介: 【LeetCode】剑指 Offer(7)

写在前面:

生命不息,刷题不止。


题目剑指 Offer 17. 打印从1到最大的n位数 - 力扣(Leetcode)


题目的接口:

class Solution {
public:
    vector printNumbers(int n) {
    }
};

解题思路:

思路很简单无脑:


根据n的值,


找出其对应的需要打印的数的最后一个数last。


然后直接暴力循环打印即可。


代码:

class Solution {
public:
    vector printNumbers(int n) {
        vector v;
        int last = 0;
        //找出最后一个需要打印的数
        while(n--)
        {
            last = last * 10 + 9;
        }
        //遍历即可
        for(int i = 1; i<=last;i++)
        {
            v.push_back(i);
        }
        return v;
    }
};


过啦!!!


题目:剑指 Offer 18. 删除链表的节点 - 力扣(Leetcode)


题目的接口:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteNode(ListNode* head, int val) {
    }
};

解题思路:

这题也比较简单,


首先解决链表头删的特殊情况,


然后因为题目需要删除一个具体的节点,


所以不用考虑空链表的情况,


然后只需要遍历链表,然后删除就行。


代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode* deleteNode(ListNode* head, int val) {
        //链表头删
        if(head->val == val)
        {
            head = head->next;
        }
        //设置两个指针
        ListNode* cur = head->next;
        ListNode* prev = head;
        //遍历链表删除节点
        while(cur)
        {
            if(cur->val == val)
            {
                prev->next = cur->next;
                break;
            }
            prev = cur;
            cur = cur->next;
        }
        //返回头结点
        return head;
    }
};


过啦!!!


写在最后:

以上就是本篇文章的内容了,感谢你的阅读。


如果喜欢本文的话,欢迎点赞和评论,写下你的见解。


如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。


之后我还会输出更多高质量内容,欢迎收看。


相关文章
|
9天前
|
存储
【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点
【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点
18 1
|
21天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
|
21天前
|
算法 定位技术
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
21 0
|
21天前
|
Go
golang力扣leetcode 剑指Offer II 114. 外星文字典
golang力扣leetcode 剑指Offer II 114. 外星文字典
24 0
|
21天前
「LeetCode」剑指 Offer 40. 最小的k个数
「LeetCode」剑指 Offer 40. 最小的k个数
30 0
|
21天前
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III
leetcode 剑指 Offer 32 - III. 从上到下打印二叉树 III
24 0
|
21天前
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
leetcode 剑指 Offer 32 - II. 从上到下打印二叉树 II
26 0
|
21天前
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
/leetcode 剑指 Offer 32 - I. 从上到下打印二叉树
22 0
|
21天前
leetcode 剑指 Offer 40. 最小的k个数
leetcode 剑指 Offer 40. 最小的k个数
20 0
|
21天前
LeetCode 剑指 Offer 28. 对称的二叉树
LeetCode 剑指 Offer 28. 对称的二叉树
19 0