🔗 LeetCode 206 - Reverse Linked List
📌 题目描述给你单链表的头节点 head,请你反转链表,并返回反转后的链表。
🔍 示例12输入: head = [1,2,3,4,5]输出: [5,4,3,2,1]
💡 解题思路链表反转是经典题目,可通过迭代或递归实现。
迭代做法:
使用 prev 指针保存上一个节点;
每次迭代,将当前节点的 next...
一、MVC(Model-View-Controller)组成角色:
Model:数据模型,负责业务逻辑和数据操作。
View:视图层,展示 UI,不处理逻辑。
Controller:控制器,连接 Model 和 View,处理交互逻辑。
优点:
简单易懂,开发快速。
Apple 官方推荐,UIKit 默认架构。
缺点:
控制器容易臃肿(Massive View Controlle...
概述静态程序分析是一种在不执行代码的情况下,对代码进行分析以发现潜在问题、优化代码质量或检测安全漏洞的方法。
静态分析方法有:
语法检查 (Syntax Checking)
代码规范检查 (Linting)
数据流分析 (Data Flow Analysis)
控制流分析 (Control Flow Analysis)
安全漏洞检测 (Security Vulnerability Dete...
🔗 LeetCode 200 - Number of Islands
📌 题目描述给你一个由 ‘1’(陆地)和 ‘0’(水)组成的二维网格 grid,请你计算网格中岛屿的数量。
岛屿总是被水包围,并且每座岛屿只能由水平方向或垂直方向相邻的陆地连接而成。
🔍 示例12345678输入: grid = [ ["1","1","0&quo...
一、iOS 离线缓存架构图(逻辑层级)12345678910111213141516┌────────────────────────────┐│ 用户操作层 │├────────────────────────────┤│ ViewController / ViewModel │├─────────────┬──────────────┤│ 请求数据...
🔗 LeetCode 39 - Combination Sum
📌 题目描述给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target,找出 candidates 中可以使数字和为 target 的所有不同组合。
你可以无限次使用 candidates 中的数字。
🔍 示例123输入: candidates = [2,3,6,7], target = 7输出...
iOS 的数据持久化是指将应用运行过程中产生的数据保存到设备的本地存储中,以便下次启动或在需要时读取。根据数据的结构复杂度、读写频率、安全性要求等不同场景,iOS 提供了多种持久化方案:
常见的数据持久化方式1. NSUserDefaults / UserDefaults
适用场景:轻量级数据,如设置项、登录状态、首选项。
存储类型:基本类型(String、Bool、Int、Fl...
🔗 LeetCode 53 - Maximum Subarray
📌 题目描述给你一个整数数组 nums,请你找出一个具有最大和的 连续子数组,并返回其最大和。
🔍 示例123输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6。
💡 解题思路:动态规划(Kadane’s Algorithm)
dp[...
一、iOS 缓存策略(NSURLRequest.CachePolicy)缓存策略决定了 请求是否使用缓存,以及如何使用缓存。它在 NSURLRequest 初始化时设置,对 NSURLSession 和 NSURLConnection 都生效。
常见策略说明:
策略
描述
.useProtocolCachePolicy
默认策略,遵循 HTTP 协议头(如 Cache-Contro...
Mach-O 是 macOS 和 iOS 平台上使用的可执行文件格式。
Mach-O 文件格式用于 macOS 和 iOS 中的可执行文件、动态库和核心转储等。Mach-O 文件包含多个部分,每个部分都具有特定的结构和功能。
Mach-O 文件头Mach-O 文件的开始部分是文件头(MachHeader),它包含了文件的基本信息。文件头分为两种类型:32位(mach_header)和 64位...