代皓 Blog

要么庸俗 要么孤独.

iOS 实时监听UITableViewCell中的UItextField的值的变化

需求 项目中有一个需求:每一个UITableViewCell中有一个UItextField,当所有的UItextField输入完成后,点击保存按钮,上传信息。 在这个过程中,只要任意一个cell中的UItextField的输入发生变化,就要得到UItextField中的值,并对当前控制器中的相应属性进行赋值。其中有两个cell 是选择国家和省市的,点击这两个cell需要弹出一个控...

iOS AFNetWorking与线程同步

需求 在iOS开发中,页面的数据并不是通过一个接口进行获取的,有时候需要从服务器的多个接口获取数据,然后进行页面的更行,有时候 需要在获取一个接口的数据后,根据得到的数据再获取其他接口的数据。 而开源框架AFNetWorking是一个常用的强大的第三方框架,我们可以利用AFNetWorking和GCD结合的方式完成以上两个需求。 方式一 获取多个接口数据后,创建或者reloa...

复杂链表的复制

题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回 结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 思路一 从头遍历遍历原链表,第一次遍历只存储链表的前后关系,不存储他的random节点关系。 第二次再遍历,存储他的random节点,这样的时间复杂度是n...

二叉树中和为某一值的路径

题目 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 分析 路劲指的是从根节点开始到叶子节点的一个通路,所以首先必须访问根节点,在几种遍历树的方法中,前序遍历的顺序是根->左->右。 所以,我们采用前序遍历,首先访问根节点,然后访问根节点的左孩子。这个时候,我们的当前节点就...

iOS点击“我的”,保持登陆状态

需求 项目中需要,在点击“我的”时,检测用户是都登陆,如果没有登陆,就跳转到登陆、注册页面,否则直接进入我的主页面。 项目采用的是登陆时,返回一个token,所以每次登陆时,我都存储token,然后去判断token是否过期,如果过期就进行重新的登陆,否则直接进入我的主控制器。 在点击“我的”这个tabbarItem时,会调用 -(BOOL)tabBarController:...

二叉搜索树的后序遍历序列

题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 二叉搜索树 二叉搜索树不同于一般的二叉树,它是有顺序的,总的来说是 左子树<根节点<右子树。如下图: 而后序遍历的顺序是:左子树、右子树、根节点。 上图二叉搜索树的后续遍历结果是:{2,9,5,16,17,15,1...

iOS 利用token保持登陆状态

需求 项目里,需要在客户登陆后保持登陆状态。使用的不是存储用户名和密码,每次去模拟登陆。 而是登录时,登陆成功,从服务器接收token,token是服务器生成的一个字符串,唯一标识一个用户, 并且会在一段时间后销毁,所以我们很久不登录APP,会要求重新登录。 利用一个工具类,进行token的存储、删除和读取。登陆成功进行存储、下一次打开APP进行读取、退出进行删除。 如果,有...

栈的压入、弹出序列

题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。 假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该 压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 分析 设定辅助栈,如果当前弹出的数字刚好是栈顶数字,就直接弹出,如果...

从上往下打印二叉树

从上往下打印二叉树 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 层序遍历 这其实就是二叉树的层次遍历: (1)访问根节点 (2)在访问第i层的时候,将i+1层的节点按顺序保存在队列中; (3)进入下一层并访问该层的所有节点; (4)重复以上操作,知道遍历完所有节点。 注意 这里要注意,Java中的队列: LinkedList实现了Queue接 口。所以...

顺时针打印矩阵

题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。 分析 这个题感觉更像是找规律,我的思想是先求出从外到内一共有多少圈,然后去输入每一圈的四条边。 求圈数...