https://leetcode.cn/problems/pascals-triangle/①首先选取ArrayList动态开辟空间,list代表整个杨辉三角其中里面有包含了杨辉三角的每一行所以类型为List,list1道标杨辉三角的第一行也就是只有一个元素1
②然后是创建杨辉三角的每一行(除已经创建好的第一行以外),每一行的第一个依旧是1,然后创建一链表pre来保存当前链表的上一行
③从第二个加点开始白能力每一行的数据,该数据等于上一行紧挨着的两个数据之和,下图可以考到在坐标(2,1)的数据等于左边(2-1,1-1)和数据(2-1,1)的和
④由此可以等到公式(i,j)=(i-1,j-1)+(i-1,j)
⑤最后再把i=j位置的元素赋值成1,即可

- public List
> generate(int numRows) {
- List
> list=new ArrayList<>();
- List
list1=new ArrayList<>(); - list1.add(1);
- list.add(list1);
- for (int i = 1; i
- List
list2=new ArrayList<>(); - list2.add(1);
- List
pre=list.get(i-1); - for (int j = 1; j
- int num=pre.get(j-1)+pre.get(j);
- list2.add(num);
- }
- list2.add(1);
- list.add(list2);
- }
- return list;
- }
二、计算字符串的数字和计算字符串的数字和
https://leetcode.cn/problems/calculate-digit-sum-of-a-string/
1、思路解析
①这里的while相当于递归
②先创建一个变量保存字符串的长度。因为每一次 的while都会改变字符串的长度
②最外层的循环相当于把整个数组分成没k个元素一组的新数组
③最里层的循环相当于把分好的每一组中的每一个元素加起来
④最后通过StringBuilder的append方法尾插进新建的sb中
2、详细代码
- public String digitSum(String s, int k) {
- while (s.length() > k) {
- int n = s.length();
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < n; i += k) {
- int sum = 0;
- for (int j = 0; j < k && i + j < n; j++) {
- sum += s.charAt(i + j) - '0';
- }
- sb.append(sum);
- }
- s = sb.toString();
- }
- return s;
- }
三、回文链表回文链表
https://leetcode.cn/problems/palindrome-linked-list-lcci/
1、思路解析
①先遍历链表把每个每个节点放到新建的顺序表中
②然后通过快慢指针遍历顺序表,判断是否为回文array.get(i).equals(array.get(j))
2、详细代码
- public boolean isPalindrome(ListNode head) {
- if (head==null||head.next==null){
- return true;
- }
- List
array=new ArrayList<>(); - ListNode cur=head;
- while (cur!=null){
- array.add(cur.val);
- cur=cur.next;
- }
- int i=0;
- int j=array.size()-1;
- while (i
- if (array.get(i).equals(array.get(j))){
- i++;
- j--;
- }else {
- return false;
- }
- }
- return true;
- }
-
相关阅读:
买卖股票的最佳时机 II[中等]
19.1 STL总述、发展史、组成与数据结构谈
Vue——Vue简介、MVC与MVVM之间的区别(面试题)、条件渲染 (面试)、循环渲染(面试)、面试题/笔试题
在VB类模块中使用计时器
深入剖析 Laravel 框架:构建高效PHP应用的最佳实践
Linux修改ip
vue部署,chunk文件有部分404,解决方案
最强大脑记忆曲线(12)-- 录入数据修改
【Android笔记18】Android中的Intent对象介绍及常见属性的使用
小程序:uniapp解决主包体积过大的问题
-
原文地址:https://blog.csdn.net/weixin_63059571/article/details/127417329